4 回答

TA貢獻2080條經驗 獲得超4個贊
您在語句后忘記了冒號if:
heightDescription = ["short", "average", "tall", "very tall"]
height = 0
if int(height) <= 188:
print(heightDescription[-1])
if int(height) in range(176, 187): # <-- Added colon
print(heightDescription[2])
if int(height) in range(161, 175): # <-- Added colon
print(heightDescription[1])
if int(height) in range(1, 174): # <-- Added colon
print(heightDescription[0])

TA貢獻1886條經驗 獲得超2個贊
我還修復了你的程序。你的范圍是重疊的,所以有時你會得到兩個描述。
所以我修復了范圍,這里是完整的代碼:
heightDescription = ["short", "average", "tall", "very tall"]
height = 1000
if int(height) <= 188:
print(heightDescription[0])
if int(height) in range(188, 198):
print(heightDescription[1])
if int(height) in range(198, 208):
print(heightDescription[2])
if int(height) in range(208, 228):
print(heightDescription[3])
else:
print(heightDescription[3])

TA貢獻1829條經驗 獲得超6個贊
所以你得到的語法錯誤是由于條件語句中邏輯語句后缺少冒號if。
此外,您的邏輯需要工作,因為您最終將獲得某些值的多個打印輸出。
這是您的代碼的邏輯更合理的表述:
heightDescription = ["short", "average", "tall", "very tall"]
height = 0
if int(height) >= 187:
print(heightDescription[-1])
elif int(height) in range(175, 187):
print(heightDescription[2])
elif int(height) in range(161, 175):
print(heightDescription[1])
elif int(height) in range(1, 161):
print(heightDescription[0])
else:
print('no height')
添加回答
舉報