首页 > 解决方案 > Python代码返回错误取决于IDE

问题描述

我正在做一门课程,代码是练习之一。

编写一个程序,反复提示用户输入整数,直到用户输入“完成”。输入“完成”后,打印出最大和最小的数字。如果用户输入的不是有效数字,请使用 try/except 捕获它并发出适当的消息并忽略该数字。输入 7、2、bob、10 和 4 并匹配下面的输出。

我相信我找到了正确的代码来传递任务——它在 Pycharm 中运行良好,但是当我尝试在 Web IDE 上提交它时,它返回不同的值。有人可以解释为什么会这样吗?

我正在使用 Pycharm 并在 www.py4e.com 网站上尝试过(返回不同的输出)。

largest = None
smallest = None

while True:
    num = input("Enter number:")
    if num == 'done':
        break
    try:
        num = int(num)
    except:
        print("Invalid input")
    if smallest is None or num < smallest:
        smallest = num
    if largest is None or largest > num:
        largest = num


print("Maximum", largest)
print("Minimum", smallest)

在 Pycharm 中,它返回:

最大值为 10
最小值为 2

在 www.py4e.com 它返回:

最大值为 2
最小值为 2

标签: pythonpython-3.x

解决方案


更改最大数字的条件,并将 if 语句放在 try 块中,如下所示,否则它将在接受另一个输入之前中断。

largest = None
smallest = None

while True:
    num = input("Enter number:")
    if num == 'done':
        break
    try:
        num = int(num)
        if smallest is None or num < smallest:
            smallest = num
        if largest is None or largest < num:
            largest = num
    except:
        print("Invalid input")



print("Maximum", largest)
print("Minimum", smallest)

推荐阅读