程序继续直接使用else语句(Python)

-3 python if-statement

number1 = float
number2 = float


number1 = raw_input("Please input the first number: ")
number2 = raw_input("Please input the second number: ")


if number1 > number2:
    print number1 + ' is bigger than ' + number2

elif number2 < number1:
    print number2 + ' is bigger than ' + number1

else:
    print 'You did not follow the instructions properly. Goodbye!'


print "\n"
raw_input("Please press enter to exit.")
Run Code Online (Sandbox Code Playgroud)

iCo*_*dez 5

这些线:

number1 = float
number2 = float
Run Code Online (Sandbox Code Playgroud)

不要将输入变成浮点数.相反,他们所做的只是将变量分配给内置float.

这是你应该做的:

number1 = float(raw_input("Please input the first number: "))
number2 = float(raw_input("Please input the second number: "))
Run Code Online (Sandbox Code Playgroud)

此外,在if语句中,您不能将字符串和浮点数一起添加(尝试这样做会引发一个TypeError).有两种方法可以解决这个问题.首先是str.format:

print '{} is bigger than {}'.format(number1, number2)
Run Code Online (Sandbox Code Playgroud)

第二个是用逗号分隔值:

print number1, 'is bigger than', number2
Run Code Online (Sandbox Code Playgroud)

最后,你的逻辑有点偏.第二个if语句应该是这样的:

elif number1 < number2:
Run Code Online (Sandbox Code Playgroud)

否则,它与第一个if语句做同样的事情.


以下是您脚本的固定版本:

number1 = float(raw_input("Please input the first number: "))
number2 = float(raw_input("Please input the second number: "))

if number1 > number2:
    print '{} is bigger than {}'.format(number1, number2)

elif number1 < number2:
    print '{} is bigger than {}'.format(number2, number1)

else:
    print 'You did not follow the instructions properly. Goodbye!'


print "\n"
raw_input("Please press enter to exit.")
Run Code Online (Sandbox Code Playgroud)