You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Set存储用户多份输入并避免重复调用input()

解决重复调用input()的问题

嗨,我来帮你搞定这个问题!你不想反复写input()的想法太对了,这样代码不仅冗余,后期修改输入次数也麻烦。这里有几种简洁的实现方式,你可以根据自己的需求选:

方法1:用循环指定输入次数

如果你明确知道需要输入的次数(比如你原来的4次),用循环批量获取输入是最直接的:

# 定义需要输入的次数,想改次数只需要调整这个值
input_times = 4
input_set = set()

for _ in range(input_times):
    # 每次循环获取一次输入,添加到集合中
    input_set.add(input())

print(input_set)

这种方式灵活性很高,不管是4次还是10次,只需要修改input_times的数值,不用重复写input()语句。

方法2:一次性输入所有内容(用分隔符分割)

如果用户可以一次性把所有内容用分隔符(比如空格、逗号)分开输入,那可以用字符串分割的方式处理:

# 示例:用空格分隔输入内容,比如输入 "apple banana apple orange"
all_input = input("请输入多个内容,用空格分隔:")
input_set = set(all_input.split())

print(input_set)

要是你想用逗号作为分隔符,只需要把split()改成split(',')就行。如果担心输入里有多余的空格,可以再加一步清理:

input_set = set(item.strip() for item in all_input.split(','))

方法3:读取任意多行输入直到结束

如果不确定输入的次数,想让用户输入任意多行直到手动结束(终端按Ctrl+D,Windows按Ctrl+Z),可以借助sys.stdin实现:

import sys

# 逐行读取输入,去掉每行首尾空白后存入集合
input_set = set(line.strip() for line in sys.stdin)
print(input_set)

这种方式适合输入次数不固定的场景,用户想输多少行就输多少行。


内容的提问来源于stack exchange,提问作者Ololade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 14:57:30