1

我创建了简单的代码:

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,并且已经把代码弄乱了很多,但我不知道我做错了什么(可能是一些非常基本的东西)。

4

3 回答 3

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.")

你错过了冒号。此外,您应该将年龄从字符串转换为整数。

希望这可以帮助!

于 2013-07-10T14:07:48.867 回答
2

首先raw_input返回一个字符串而不是整数,所以使用int(). 否则,if 条件if age >= 21总是为 False。:

>>> 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: "))

出现语法错误是因为您忘记了 a:if行了。

if age >= 21
            ^
            |
       colon missing
于 2013-07-10T14:06:49.637 回答
2

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

尝试:

if age >= 21:
    print #string
else:
    print #other string
于 2013-07-10T14:07:11.267 回答