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