2
我已經設置了一個作業來將一個Denary編號轉換爲8位二進制數。用戶輸入一個數字,我必須在轉換前驗證它。 當我輸入一個有效的號碼並且驗證工作正常時,代碼工作得很好。但是,當我嘗試轉換一個數字後驗證一個invallid號碼,我得到這個NoneType操作數錯誤。 任何人都可以解釋我做錯了爲什麼我得到一個TypeError:不受支持的操作數類型爲%:'NoneType和Int
def testDenary(testValue):
if testValue < int(0):
print("Error: Negative value input. Please try again!")
return False
elif testValue > 255:
print("Error: Input value too high. Please try again!")
return False
else:
return True
def getDenary():
denIn = int(input("Please enter a number between 0 and 255: "))
if testDenary(denIn):
return denIn
else:
getDenary()
def convertToBinary(denaryIn):
x = 0
result = []
for number in range(8):
bit = denaryIn % 2
result.append(bit)
denaryIn = denaryIn // 2
print (type(denaryIn))
result.reverse()
str1 = "".join(str(x)for x in result)
return str1
def main():
denary = getDenary()
answer = convertToBinary(denary)
print ("Binary version = " + answer)
main()
main()