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

Coursera - 适合所有人的 Python - ex 5.2

Coursera - 适合所有人的 Python - ex 5.2

蝴蝶不菲 2023-01-04 15:51:36
对于以下问题:编写一个程序,重复提示用户输入整数,直到用户输入done。输入“完成”后,打印出最大和最小的数字。如果用户输入的不是有效数字,则使用 try/except 捕获它并发出适当的消息并忽略该数字。输入个案:输入 7、2、bob、10 和 4 并匹配下面的输出。我的程序没有正确显示答案。这里有什么问题?while True:inp = input("Enter number: ")if inp == "done":    print("done")    breaktry:    inp_data = int(inp)except:    print("Invalid input")if smallest is None:    smallest = inp_dataelif inp_data < smallest:    smallest = inp_dataelif inp_data > largest:    largest = inp_data    print("largest", largest)print("smallest", smallest)输出:无效输入,最大值为 10,最小值为 2。
查看完整描述

7 回答

?
吃鸡游戏

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

您在打印输出时遗漏了一些语句。

以下代码对我有用。


largest = None

smallest = None


while True:

    num = input("Enter a number: ")

    if num == "done":

        break

    try:

        #print(num)

        num = int(num)

        if largest is None or largest < num:

            largest = num

        elif smallest is None or smallest > num :

            smallest = num

    except ValueError:

        print("Invalid input")

        continue


print("Maximum is", largest)

    

print("Minimum is", smallest)

已验证并成功运行。


查看完整回答
反对 回复 2023-01-04
?
守着星空守着你

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

largest = None

smallest = None

while True:

    num = input("Enter a number: ")

    if num == "done":

        break

    try:

        num = int(num)

    except:

        print("Invalid input")

        continue 

   

    if largest==None or num > largest:

        largest = num

    elif smallest==None or smallest > num:

        smallest = num


print("Maximum is", largest)

print("Minimum is", smallest)


查看完整回答
反对 回复 2023-01-04
?
守候你守候我

TA贡献1802条经验 获得超10个赞

如果包含 elif 语句,则如果 if 语句中的条件为真,则不会检查它们,因此如果我有“elif smallest...”,则永远不会检查结果为“Minimus is none”。


largest = None

smallest = None


while True:

    enter_num = input('Enter a number ')

    if enter_num == 'done':

        break

    try:

        num = int(enter_num)

        if largest is None or largest < num:

            largest = num

        if smallest is None or smallest > num:

             smallest = num

    except:

        print('Invalid input')

        continue

 

print('Maximum is', largest)

print('Minimum is', smallest)


查看完整回答
反对 回复 2023-01-04
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

试试这个代码,稍后谢谢我


largest = None

smallest = None

while True:

    val = input("Enter a number: ")

    if val == "done":

        break

    try:

        val = int(val)

        if largest is None or val > largest:

            largest = val

        elif smallest is None or smallest > val:

            smallest = val

    except:

        print("Invalid input")

        continue

print("Maximum is", largest)

print("Minimum is", smallest)


查看完整回答
反对 回复 2023-01-04
?
MM们

TA贡献1886条经验 获得超2个赞

largest = 0

smallest = 100

while True:

    num = input('Enter a number: ')

    if num == 'done' :

        break

    try:

        l1 = int(num)

    except:

        print('Invalid Input')

        continue


    #print(l1)

    if l1 > largest:

        l2 = l1

        largest = l2

    elif l1 < smallest:

        l3 = l1

        smallest = l3



print('Maximum', largest)

print('Minimum', smallest)

这是我唯一能解决的问题。无法弄清楚如何将最大和最小值保持为 none


查看完整回答
反对 回复 2023-01-04
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

largest = None

smallest = None

while True:

    try:

        num = input("Enter a number: ")

        if num == "done":

            break

        #print(num)

        num=int(num)

    if largest is None or largest < num:

            largest=num                 

    elif smallest is None or smallest > num:

            smallest=num            

    except:

        print("Invalid input")

        continue


print("Maximum is", largest)

print("Minimum is", smallest)


查看完整回答
反对 回复 2023-01-04
?
慕尼黑8549860

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

largest = None

smallest = None

while True:

    num = input("Enter a number: ")

    if num == "done":

        break

    try :

        n = int(num)

        

    except :

        

        print("Invalid input")

        continue

    if largest is None or largest < n:

        largest = n 

        

    elif smallest is None or smallest > n:

        smallest = n

      

    


print("Maximum is", largest)

print("Minimum is", smallest)


查看完整回答
反对 回复 2023-01-04
  • 7 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

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