在 python 中不使用函数或列表检查 min max

min1=0

max1=0


while True:

    num=input("enter a number")

    if (num=='done'):

        break

    elif (num.isdigit()==False):

        print("sorry enter integers or done")

    elif (int(num)>max1):

        max1=num

    elif (int(num)<min1):

        min1=num

print(max1)

print(min1)


这是在“int”和“str”的实例之间不支持的错误“>”。我不能接受整数输入,因为当用户输入完成时我必须中断。另外,我必须考虑用户输入的非整数值。如何纠正此代码。


守着星空守着你
浏览 81回答 2
2回答

MYYA

假设num='5'。然后elif (int(num)>max1):持有并分配'5'给max1。在下一次迭代中,max1是一个字符串,因此会出现错误。解决方案是 -&nbsp;max1=int(num)(和 相同min1)。

白衣染霜花

解决此问题的另一种方法是将输入转换为整数一次,而不是int(num)在整个代码中多次使用。这使以后更容易阅读。这方面的一个例子是正在改变elif (num.isdigit()==False):至elif (num.isdigit()==True):或elif (num.isdigit())(他们做同样的事情)。然后你可以将字符串转换为整数 num = int(num)例子:min1=0max1=0while True:&nbsp; &nbsp; num=input("enter a number")&nbsp; &nbsp; if (num=='done'):&nbsp; &nbsp; &nbsp; &nbsp; break&nbsp; &nbsp; if num.isdigit():&nbsp; &nbsp; &nbsp; &nbsp; num = int(num)&nbsp; &nbsp; else:&nbsp; &nbsp; &nbsp; &nbsp; print("sorry enter integers or done")&nbsp; &nbsp; &nbsp; &nbsp; continue&nbsp; &nbsp; if (num>max1):&nbsp; &nbsp; &nbsp; &nbsp; max1=num&nbsp; &nbsp; elif (num<min1):&nbsp; &nbsp; &nbsp; &nbsp; min1=numprint(max1)print(min1)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python