为什么不同的数字在这个python代码中不起作用?

2024-06-14 08:38:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用python提示用户输入不同的数字,并保留最大的数字,当用户输入“done”时完成。但我发现它不能与不同的数字。例如,第一个条目:91,第二个条目:94,它将运行良好。但是第一entry:91 and 2:100,不能记录100为最大数。有人知道发生了什么事吗?非常感谢

代码:

largest = None
smallest = None

while True:

    num = raw_input("Enter a number: ")
    if num == "done":
        break
    try: int (num)
    except: 
        print "Please enter a numeric number"
    if largest is None and smallest is None: 
        largest = num
        smallest = num
        #print "l", largest
        #print "s", smallest
    if num > largest:
        largest = num
        print largest, num

    #if num < smallest:
       # smallest = num
       # print "s2", smallest


    print num

    print "Maximum is ", largest
    #print "Minimum is ", smallest

Tags: and用户nonenumberifis记录条目
3条回答

问题是您没有将num转换为整数,因此它使用的是字符串比较而不是数字比较。更改:

try: int (num)

收件人:

try:
    num = int(num)

你有很多问题。看看这个,也许你可以把它合并到你自己的代码中

largest = 0

while True:
    prompt = raw_input("Enter a number: ")
    try:
        num = int(prompt)
        if num > largest:
            largest = num
    except:
        if prompt == 'done':
            break

print largest

你在做ASCII比较,而不是数字比较。实际上,您需要指定number = int(num)之类的值,并使用number进行比较

相关问题 更多 >