0
我想寫一個函數來查看一個數字是否使用%運算符是奇數,但得到錯誤說類型錯誤:不串轉換過程中的所有參數格式python 3函數檢查數字是否是奇數使用%,給我錯誤:TypeError:並非在字符串格式化期間轉換的所有參數
num = (input("num > "))
x = num % 1
def OddCheck(num):
if x == 1:
print('num',num,'is odd')
else:
print(num,'is not odd')
print(OddCheck(num))
當我切換%,爲*,我沒有得到任何錯誤。
num = (input("num > "))
x = num * 1
def OddCheck(num):
if x == 1:
print('num',num,'is odd')
else:
print(num,'is not odd')
print(OddCheck(num))
'input'返回一個字符串。使用它上的'%'運算符試圖進行字符串格式化。你的OddCheck函數實際上並不檢查它的輸入是否是奇數,它檢查一個全局變量的值。這可能會讓你的成績很差...... – geoffspear
順便說一句,任何數字「%1」總是0.你的意思是做'%2'。它也看起來像你的'x = num%1'這行是在函數內部,而不是在它之外。 –