[英]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.