Простой 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.")

Он прекрасно работает, пока я не докажу "если"... он говорит мне, что я использую неверный синтаксис.

Я пытаюсь научиться использовать Python, и немного разбираюсь с кодом, но не могу понять, что я сделал неправильно (возможно, что-то очень простое).

3 ответа

Решение

Это должно быть что-то вроде этого:

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

Вы пропустили двоеточие. Кроме того, вы должны привести возраст от строки к int.

Надеюсь это поможет!

В Python отступ очень важен. Вы должны использовать правильный отступ, или он не будет работать. Также вам нужен : после если и еще

пытаться:

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

Во -первых 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
Другие вопросы по тегам