python - 为什么迭代循环不起作用
问题描述
我有一个问题,我正在尝试完成一个我输入的练习,1,2,3
输出会说:One, Two Three
. 以下代码不起作用。我的逻辑是输入数字,1,2,3
然后通过输入运行 for 循环。非常感谢!
phone = input("Phone")
digitmap = {
1: "One",
2: "Two",
3: "Three",
4: "Four"
}
for i in phone:
output = digitmap[i]
print(output)
解决方案
首先,您需要确保您的输入是int
要在字典中查找的列表。所以我们首先声明phone
为一个列表,然后使用下面的方法填充它:
[int(x) for x in input("Phone\n").split(',')]
然后,最终可能会得到一个乱序的字典。也许你的digitmap
样子:
digitmap = {
3: "Three",
4: "Four",
1: "One",
2: "Two"
}
那时,您的基于索引的引用将失败。相反,我们应该使用dict.get()
返回哈希图中键值的方法
phone = []
# https://www.geeksforgeeks.org/python-program-to-input-a-comma-separated-string/
phone = [int(x) for x in input("Phone\n").split(',')]
digitmap = {
1: "One",
2: "Two",
3: "Three",
4: "Four"
}
for i in phone:
output = digitmap.get(i)
print(output)
好像:
C:\Users\wundermahn\Desktop>python stack_example.py
Phone
1,2,3
One
Two
Three
推荐阅读
- c - 在 Linux 上的 C 程序中的 x86_64 中的堆栈
- javascript - 反应道具仅删除 Map() 中的最后一个元素
- mysql - 无法在服务器本身上加载数据本地 Infile
- r - RStudio Server 不使用缓冲区/缓存内存
- ruby-on-rails - 具有 Ruby-on-rails 和 GraphQL 突变的唯一字符串约束
- javascript - Viewbox缩小隐藏图标
- windows - 在 Windows 10/11 for ARM 上注入英特尔 x64 和 x86 仿真
- javascript - 如何遍历数组并将值保存到环境 Postman
- python - Pycharm 为现有的私有基类方法提供未解析的属性引用
- javascript - 如何从excel文件中获取JSON反应本机