我的问题是我只想添加字符串" Karte1"一次到列表。但是现在,字符串" Karte1"正在无限次地添加到列表中.. 希望你能帮助我:)。
import random
Deck1 = []
def startgame():
try:
"Karte1" not in Deck1
if True:
Deck1.append("Karte1")
if False:
pass
except:
pass
while True:
startgame()
print(Deck1)
答案 0 :(得分:2)
如果您想要唯一值,可以使用集合。
但在您的情况下,只需将您的代码更改为:
if "Karte1" not in Deck1:
Deck1.append("Karte1")
修改强>
请注意,在您的while语句中,当您定义的函数名称为 startgame
时,您将调用函数 startgame2答案 1 :(得分:1)
您可以使用设置数据结构而不是列表。 默认情况下,集合包含唯一值。
来自Python文档
https://docs.python.org/2/library/sets.html
sets模块提供了用于构造和操作唯一元素的无序集合的类。常见用途包括成员资格测试,从序列中删除重复,以及计算集合上的标准数学运算,例如交集,并集,差异和对称差异。
示例强>
my_set = set([1,2,3,2])
print(my_set) # prints [1,2,3]
my_set.add(4)
print(my_set) # prints [1,2,3,4]
my_set.add(3)
print(my_set) # prints [1,2,3,4]
答案 2 :(得分:0)
if True
语句将始终为True,因此每次调用startgame()
函数时,它都会将其添加到Deck
你可能想做的是:`
if "Karte1" not in Deck1:
Deck1.append("Karte1")