d = {'jack':100,'rose':20}i = str(raw_input('enter'))if i in d.keys():? ? print d[i]else:? ? print 'There is no such thing'這個代碼的語法錯誤是在key的判斷上嗎?如果不能這么判斷,應該怎么達到類似的效果呢
3 回答
已采納

Matthew_CQ
TA貢獻2條經驗 獲得超0個贊
我晚上回來下載了2.7版本的來測試。一樣是正確的。我猜你不是在IDE(集成開發環境)上運行的。你下載一個Pycharm吧。i = str(raw_input('enter:'))運行后你才能在控制臺輸入。如果你在慕課和其他網頁上編寫和運行是不能交互輸入的。所以返回會說你在i = str(raw_input('enter:'))這一行錯誤。貼上我的代碼和圖片:
共勉~
d?=?{'jack':100,'rose':20} while(True): ????i?=?str(raw_input('enter:')) ????if?i?in?d.keys(): ????????print?d[i] ????else: ????????print?'There?is?no?such?thing'
? ?

Matthew_CQ
TA貢獻2條經驗 獲得超0個贊
建議你使用IDE來編寫Python代碼。也就是去網上下載一個Pycharm軟件。你的代碼是邏輯是正確的。錯在i = str(raw_input('enter'))這段代碼最后一個)是中文輸入法下的。你要注意要在英文輸入法下寫代碼。我的版本是Python3的。附上我的運行圖:
d?=?{'jack':100,'rose':20} while(True): ????i?=?str(input('enter:'))??#Python3版本使用的是input ????if?i?in?d.keys(): ????????print?(d[i]) ????else: ????????print?('There?is?no?such?thing')
添加回答
舉報
0/150
提交
取消