注册 登录
编程论坛 Python论坛

Python问题

lielz 发布于 2018-12-06 19:17, 1979 次点击
编写一个程序需要比较用户输入的几个数值大小,用户输入“done”结束循环,输入字符时显示“invaild input”。
这个程序有问题吗
largest = None
smallest = None
while True:
    num = input("Enter a number: ")
    largest=num
    smallest=num
    try:
        for values in [num]:
            if largest<float(num):
                largest=float(num)
            
            
    except:
        print("Invalid input")
    if num == "done" : break
   

print("Maximum is",largest)
print("Minimum is",smallest)
4 回复
#2
闫哈哈2019-01-17 11:22
数据类型有问题, 运算符不能对字符串做处理.
#3
apull2019-01-18 15:41
设计有问题,smallest 只是每次赋值,并没有参与比较,如果num是各序列,smallest也会是个序列,异常里的if放到前面。
异常里的if跟输入方式有很大关系,如果输入3,4,5,“done”,则需要用values==“done”,如果每次输入一个数字,则不需要for。
#4
孙芸欣2019-02-11 00:36
#5
cc20178965432019-02-26 10:57
回复 楼主 lielz
invaild(无效) input(输入)--- 那就说明定位到输入的地方 错误点就找到了,输入必须是一个int或者float 不可以是字符串哦。
1