2014-09-06 111 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 2014-09-06 05:59:21

回答

2

在Python中編寫一個不等式範圍比做截然不同的截斷要簡單得多;你可以使用數學風格的範圍。

下面是一個例子:

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

你不應該引用您的變量,因爲這將像對待一個字符串。

+0

如果我這樣做,我得到這個錯誤: 回溯(最後最近一次調用): 文件 「C:\ Python34 \ Age3.py」,第11行,在 如果0 AshleaAwesome 2014-09-06 17:25:01

+0

確保將輸入調用與int函數包裝在一起EG'y = int(input(「請輸入你的年齡。」))' – Makoto 2014-09-06 17:33:55

+0

當我添加校正時: Traceback (最近呼叫最後): 文件「C:\ Python34 \ Age3。py「,第6行,在 print(」你的年齡是「+ y) TypeError:不能將'int'對象隱式轉換爲str >>> – AshleaAwesome 2014-09-06 17:37:30

0

在真棒Makoto的幫助下,它已經修復! :d

進口數學

(X)=輸入( 「請輸入你的名字:」)

(Y)= INT(輸入( 「請輸入您的年齡:」))

打印( 「你好」 + x)的

打印( 「你的年齡」,Y)

如果0 <(Y)< 18:

打印( 「你是未成年人。」)

的elif 18 < =(y)的< 25:

打印( 「你可以投票」)

的elif 25 < =(Y )< 35:

打印( 「你可以租一輛車。」)

ELIF(Y)> = 35:

打印( 「你可以成爲總統。」)

其他:

打印(「你沒有輸入一個有效的響應。 「)