2014-09-06 3 views
-1

Я не могу понять это.
Пока у меня есть, но он не работает, независимо от того, какой возраст я ввожу, он говорит мне, что я могу быть президентом.Как написать инструкцию if с интервалом?

import math 

(x) = input("Please enter your name:") 
(y) = input("Please enter your age:") 


print ("Hello" + x) 
print ("Your age is" + y) 

if ("y")> ("0") and ("y") < ("18"): 
    print("You are a minor.") 

if ("y")>=("18") and ("y") < ("25"): 
    print("You can vote.") 

if ("y")>= ("25") and ("y") < ("35"): 
    print("You can rent a car.") 

if ("y") >= ("35"):  
    print("You can be president.") 
else: 
    print ("You have not entered a valid response. Must be a positive integer.") 

Как правильно получить интервалы?

+0

Являются ли вещи в скобках предполагаемыми переменными? Вы не хотите кортежей, не так ли? (Я бы избавился от круглых скобок, поскольку это только добавляет вам путаницу). – Makoto

ответ

2

Написание диапазона неравенства в Python намного проще, чем выполнение отдельных отрезков; вы можете использовать диапазоны математического стиля.

Вот пример:

if 0 < y < 18: 
    print("You are a minor.") 

Вы не должны цитировать переменную, так как это будет относиться к нему как строковый литерал.

+0

Если я сделаю это, я получаю эту ошибку: Traceback (самый последний вызов последнего): Файл "C: \ Python34 \ Age3.py", строка 11, в , если 0 <у <18: TypeError: unorderable type: int() AshleaAwesome

+0

Обязательно заверните свой входной вызов с помощью функции int. EG 'y = int (input (« Укажите свой возраст ».))' – Makoto

+0

Когда я добавляю эту поправку: Traceback (последний последний вызов): Файл «C: \ Python34 \ Age3.py ", строка 6, в print (" Ваш возраст "+ y) ТипError: Невозможно преобразовать объект 'int' в str неявно >>> – AshleaAwesome

0

С помощью удивительного Макото это исправлено! : D

импорт математик

(х) = вход ("Пожалуйста, введите ваше имя:")

(у) = INT (вход ("Пожалуйста, введите свой возраст:"))

печать ("Hello" + х)

печати ("Ваш возраст", у)

если 0 < (у) < 18:

печати ("Вы являетесь несовершеннолетним.")

Элиф 18 < = (у) < 25:

печати ("Вы можете голосовать")

Элиф 25 < = (у) < 35:

печати ("Вы можете арендовать автомобиль.")

Элиф (у)> = 35:

печати ("Вы можете быть президентом.")

еще:

печати ("Вы не ввели правильный ответ. Должно быть положительное целое число. ")