为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守着星空守着你 2022-10-25 10:23:57
min1=0max1=0while 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=numprint(max1)print(min1)这是在“int”和“str”的实例之间不支持的错误“>”。我不能接受整数输入,因为当用户输入完成时我必须中断。另外,我必须考虑用户输入的非整数值。如何纠正此代码。
查看完整描述

2 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

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



查看完整回答
反对 回复 2022-10-25
?
白衣染霜花

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)


查看完整回答
反对 回复 2022-10-25
  • 2 回答
  • 0 关注
  • 79 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信