2016-08-02 61 views
1
print("Welcome to the Age Classifier program") 
person_age=(float(input("Enter the person's Age")) 

if person_age<=1 or person_age>0: 
     print("Person is an infant") 
elif person_age>1 or person_age<13: 
     print("Person is a child") 
elif person_age>=13 or person_age<20: 
     print("Person is a teenager") 

elif person_age>=20 : 
     print("Person is an adult") 
else: 
     print("Person has not been conceived or is developing in the womb") 

當我執行這段代碼,解釋報告說,沒有對if陳述的身體一號線錯誤,有消息報道說語法是無效的。我嘗試添加括號並遇到相同的語法錯誤。年齡分類的Python程序

+1

在這種情況下,即使輸入爲'-1',輸出也會是''人是嬰兒''。 –

回答

1

你有不平衡的括號。

person_age=float(input("Enter the person's Age")) 

這可能會是一個更好的主意,不過,使這是一個整數

person_age=int(input("Enter the person's Age")) 
+2

謝謝,顯然漂浮不採取負數 –

+0

很高興我們可以提供幫助。 –

2

在第一行中的錯誤主要是由於括號:

person_age=(float(input("Enter the person's Age")) # 3 opening, 2 closing. 

將其更改爲:

person_age=(float(input("Enter the person's Age"))) 

另外,你有一個邏輯錯誤。如果任一條件爲真,則or運算符返回True。我懷疑這是否適合你的用例。你應該這樣做:

if person_age<=1 and person_age>0: 
     print("Person is an infant") 
elif person_age>1 and person_age<13: 
     print("Person is a child") 
elif person_age>=13 and person_age<20: 
     print("Person is a teenager") 
elif person_age>=20 : 
     print("Person is an adult") 
else: 
     print("Person has not been conceived or is developing in the womb")