[英]Python - sys.stdin.readline() - library
import sys
lijst_salades = {'Eiersalade' : 5.99,
'Paprikasalade' : 6.05,
'truffelsalade': 3.99
}
input = (sys.stdin.readline())
print(lijst_salades[input])
它給了我一個錯誤
回溯(最后一次調用):文件“C:/some/random/dir/right/here/progr.py”,第 9 行,在 print(lijst_salades[input]) KeyError: 'truffelsalade\n'
有人可以解釋做錯了什么嗎? 如果我使用print(lijst_salades['Eiersalade']
它工作正常。
問題是您通過輸入讀取了\n
字符,因為錯誤 state:
KeyError: '松露沙拉\n'
您應該將代碼修復為:
import sys
lijst_salades = {'Eiersalade' : 5.99,
'Paprikasalade' : 6.05,
'truffelsalade': 3.99
}
input = (sys.stdin.readline()).rstrip()
print(lijst_salades[input])
此外,建議在輸入中添加測試,因為如果密鑰不存在,它也會引發KeyError
類型的錯誤。
編輯
您可以在以下鏈接中閱讀轉義字符:
https://linuxconfig.org/list-of-python-escape-sequence-characters-with-examples
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.