我有一個家庭作業,要編寫一個程序,該程序將高速公路編號作為輸入,并輸出高速公路是主要還是輔助,走向東/西,北/南,如果是輔助,它服務的主要高速公路是什么。這是我的代碼,它給了我滿分,但我是初學者,必須有更短的方法來編寫它。有人介意清理一下嗎?highway_number = int(input())if highway_number >= 1 and highway_number <= 99: prim = 'is primary,' if (highway_number % 2) == 0: print('The', highway_number, prim, 'going east/west.') else: print('The', highway_number, prim, 'going north/south.')elif highway_number >= 100 and highway_number <= 999: aux = 'is auxiliary,' if (highway_number % 2) == 0: print('The', highway_number, aux, 'serving the %d, going east/west.' % (highway_number%100)) else: print('The', highway_number, aux, 'serving the %d, going north/south.' % (highway_number%100))else: print(highway_number, 'is not a valid interstate highway number.')這里有 290 個輸出:The 290 is auxiliary, serving the 90, going east/west.
1 回答

繁華開滿天機
TA貢獻1816條經驗 獲得超4個贊
用于
1) 鏈式比較
2) f弦
3) 利用 0/1 的布爾值的內聯 if 語句
使代碼更短
highway_number = int(input())
if 1 <= highway_number <= 99:
direction = 'east/west' if highway_number % 2 else 'north/south'
print(f'The {highway_number} is primary, going {direction}')
elif 100 <= highway_number <= 999:
direction = 'north/south' if highway_number % 2 else 'east/west'
print(f'The {highway_number} is auxiliary, serving the {highway_number%100}, going {direction}')
else:
print(highway_number, 'is not a valid interstate highway number.')
添加回答
舉報
0/150
提交
取消