找到最高数字,没有数组,只有语句

时间:2015-07-16 21:10:08

标签: python if-statement numbers highest

我目前正在学习Python编程课程,我们已经完成了通过提示用户找到最高编号的任务。 使用数组很容易完成,但我们无法将它们用于此分配。 我有一个问题,如果我输入一系列数字,如“55,100,99”我的程序告诉我的99是最高的数字。我不确定会出现什么问题。

largest = None
smallest = None
temp = None
while temp != "done":
    num = raw_input("Enter a number: ")
    if num == "done" :
        break
    try:
        int(num)
    except:
        print ('That is not an integer. Try again')
        break
    print(largest)
    if largest is None:
        largest = num 
    if largest != None and num > largest:
        largest = num
print ('Invalid input')
print "Maximum is", largest
print "Minimum is", smallest

4 个答案:

答案 0 :(得分:1)

int(num)更改为num = int(num)以保存类型转换

答案 1 :(得分:1)

变化:

int(num)

为:

num = int(num)

否则,num仍然是一个字符串,因为您没有在任何地方保存转换结果。

答案 2 :(得分:0)

我认为除了套件中你不需要中断。原因是程序在执行除套件中的代码时退出。也就是说,您从字符串 int 的类型转换不会保存在任何地方。要保存此功能,请尝试以下操作:

num= int(num) instead of just int(num)

答案 3 :(得分:0)

我认为除了将int(num)保存到num之外,你不需要检查每个循环的最大/最小是None,而只是在首次输入循环时初始化它:

ID 3

出错时你也可以提出异常,而不是仅仅突破循环(这样它更加pythonic并且不打印那些Max / Min结果)。