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

为什么这个 while 循环不能正确执行

为什么这个 while 循环不能正确执行

牧羊人nacy 2023-12-12 15:50:01
我正在尝试编写一个基本代码,提示用户输入数字列表作为单独的输入,然后识别最大和最小的数字。如果用户输入数字以外的任何内容,代码应返回“无效输入”消息。该代码似乎运行了两个输入一次,但随后 while 输入似乎完全损坏了,我不确定它出了什么问题。largest = Nonesmallest = Nonetry:    num1 = input("Enter a number: ")    num1 = int(num1)    largest = num1    smallest = num1    while True:        num = input("Enter a number: ")        if num == "done" :            break        if num > largest:            largest = num        if num < smallest:            smallest = num        else: continueexcept:    print('Invalid input')print("Maximum is ", largest)print("Minimum is ", smallest)
查看完整描述

3 回答

?
浮云间

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

如果您检查“完成”的退出条件并且输入不是“完成”,则将字符串转换为整数。然后所有 if 条件都会正确,并且您的 while 循环应该运行。


largest = None

smallest = None


try:

   num1 = input("Enter a number: ")

   num1 = int(num1)

   largest = num1

   smallest = num1


while True:

    num = input("Enter a number: ")

    if num == "done" :

        break        

    num = int(num)

    if num > largest:

        largest = num

    if num < smallest:

        smallest = num

    else: continue

except:

    print('Invalid input')



print("Maximum is ", largest)

print("Minimum is ", smallest)


查看完整回答
反对 回复 2023-12-12
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

这是一个简单的方法:


lst = []

while True:

    try: 

        lst.append(int(input("enter a number: ")))

    except:

        break


print(f"max is {max(lst)}")

print(f"min is {min(lst)}")

enter a number: 10

enter a number: 22

enter a number: 11

enter a number: 22

enter a number: 4

enter a number: done

max is 22

min is 4


查看完整回答
反对 回复 2023-12-12
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

除了其他更正之外:


largest = None

smallest = None


try:

    num1 = int(input("Enter a number: "))

    largest = num1

    smallest = num1


    while True:

        num = input("Enter a number: ")

        if str(num) == "done" :

            break

        if int(num) > largest:

            largest = num

        if int(num) < smallest:

            smallest = num

        else: continue

except:

    print('Invalid input')


print("Maximum is ", largest)

print("Minimum is ", smallest)


查看完整回答
反对 回复 2023-12-12
  • 3 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

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