【问题标题】:Checking min max without using function or list in python在 python 中不使用函数或列表检查 min max
【发布时间】:2020-04-26 10:09:40
【问题描述】:
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' 的实例之间不支持的抛出错误 '>'。我不能接受整数输入,因为当用户输入完成时我必须中断。另外,我必须考虑用户输入的非整数值。如何纠正此代码。
【问题讨论】:
标签:
python
python-3.x
string
integer
minmax
【解决方案1】:
假设num='5'。然后elif (int(num)>max1): 保持不变,您将'5' 分配给max1。在下一次迭代中,max1 是一个字符串,因此会出现错误。解决方案是 - max1=int(num)(min1 也是如此)。
【解决方案2】:
解决此问题的另一种方法是将输入转换为整数一次,而不是在整个代码中多次使用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)