python - 接受用户的输入,直到 5 个唯一输入
问题描述
我将如何使用 while 函数来做到这一点。我们是否必须为此在某处使用集合?
这是我到目前为止所拥有的
while True:
mySet = set(input("Enter a number:"))
if mySet == 5:
break
print(mySet)
解决方案
您在这里有三个主要问题:
在 interable 上使用
set()
构造函数将从其元素创建一个集合。在这种情况下,从input
. 例如:>>> set("hello") {'h', 'o', 'e', 'l'} >>> set("54") {'5', '4'}
不确定这是你想要的。如果要将输入作为一个整体考虑,则必须使用
add
集合的方法。其次,您正在重新初始化
set
每个输入(如上所述)。同样,不确定这是您真正想要的。您必须在循环外初始化一次集合。您正在检查“set”是否实际上是 integer
5
。你可能的意思是len
用来检查是否len(mySet) == 5
总之,示例代码可能是:
my_set = set()
while len(my_set) != 5:
my_set.add(input("Enter a number:"))
print(my_set)
如果您希望输入是数字,并希望这样存储它们,您可以更改为:mySet.add(int(input("Enter a number:")))
但请记住,现在这可能会引发异常,因此可能会进行一些错误处理。
推荐阅读
- swift - 循环/if语句后的附加“in ....”关键字
- tableau-api - 在 Tableau 中显示连续度量的垂直图例
- c++ - 将 std::maps 队列并行合并到一个 std::map 中
- javascript - 在 CSS 或 Javascript 中为选定元素下的所有元素添加“顶部属性”到现有顶部的有效方法是什么?
- c# - 我可以将变量名称列表添加到 C# 中的组合框吗
- authentication - 热门网站如何获得安全的身份验证流程?
- python - Python + numpy + opencv 在第一次矩阵乘法时停止执行
- r - 2路有限元模型在R中给出“空模型”
- data-visualization - 安装后如何在windows上导入h3-py(uber)?
- python - 安装python模块“Pygame”问题