简单的raw_input和条件

时间:2013-07-10 14:03:32

标签: python if-statement conditional-statements raw-input

我创建了简单的代码:

name = raw_input("Hi. What's your name? \nType name: ")
age = raw_input("How old are you " + name + "? \nType age: ")

if age >= 21
    print "Margaritas for everyone!!!"
else:
    print "NO alcohol for you, young one!!!"

raw_input("\nPress enter to exit.")

它很有用,直到我得到'if'语句...它告诉我我使用了无效的语法。

我正在努力学习如何使用Python,并且对代码进行了大量的讨论,但我无法弄清楚我做错了什么(可能是非常基本的东西)。

3 个答案:

答案 0 :(得分:4)

它应该是这样的:

name = raw_input("Hi. What's your name? \nType name: ")
age = raw_input("How old are you " + name + "? \nType age: ")
age = int(age)

if age >= 21:
    print "Margaritas for everyone!!!"
else:
    print "NO alcohol for you, young one!!!"

raw_input("\nPress enter to exit.")

你错过了冒号。此外,您应该将age从string转换为int。

希望这有帮助!

答案 1 :(得分:2)

首先raw_input返回不是整数的字符串,因此请使用int()。否则if条件if age >= 21总是为假。:

>>> 21 > ''
False
>>> 21 > '1'
False

<强>代码:

name = raw_input("Hi. What's your name? \nType name: ")
age = int(raw_input("How old are you " + name + "? \nType age: "))

语法错误存在,因为您忘记了:行上的if

if age >= 21
            ^
            |
       colon missing

答案 2 :(得分:2)

使用python,缩进非常重要。你必须使用正确的缩进,否则它将无法工作。此外,在if和else之后需要:

尝试:

if age >= 21:
    print #string
else:
    print #other string