2 回答

TA貢獻1868條經驗 獲得超4個贊
假設num='5'
。然后elif (int(num)>max1):
持有并分配'5'
給max1
。在下一次迭代中,max1
是一個字符串,因此會出現錯誤。解決方案是 - max1=int(num)
(和 相同min1
)。

TA貢獻1796條經驗 獲得超10個贊
解決此問題的另一種方法是將輸入轉換為整數一次,而不是int(num)在整個代碼中多次使用。這使以后更容易閱讀。
這方面的一個例子是正在改變
elif (num.isdigit()==False):
至
elif (num.isdigit()==True):或elif (num.isdigit())(他們做同樣的事情)。
然后你可以將字符串轉換為整數 num = int(num)
例子:
min1=0
max1=0
while True:
num=input("enter a number")
if (num=='done'):
break
if num.isdigit():
num = int(num)
else:
print("sorry enter integers or done")
continue
if (num>max1):
max1=num
elif (num<min1):
min1=num
print(max1)
print(min1)
添加回答
舉報