在 python 中不使用函数或列表检查最小最大值

Checking min max without using function or list in python

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' 实例之间不支持抛出错误“>”。我不能接受整数输入,因为当用户输入完成时我必须中断。另外,我必须考虑用户输入的非整数值。如何改正此代码。

假设 num='5'。然后 elif (int(num)>max1): 成立,您将 '5' 分配给 max1。在下一次迭代中,max1 是一个字符串,因此会出现错误。解决方案是 - max1=int(num)min1 也是如此)。

解决此问题的另一种方法是将输入转换为整数一次,而不是在整个代码中多次使用 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)