如何在 python 列表中追加元素时检查元素?
How to check element as you append element in python list?
python 新手,之前的编程经验有限,我正在尝试创建纸牌游戏作为学习工具。第一步是发牌。我知道有很多方法可以做到这一点,包括创建卡片对象和交易方法。那将在以后出现。
现在,我想随机生成套件和数字,将这些值连接成一个字符串并将元素追加到列表中。发牌时,新生成的元素将与列表中已有的元素进行比较,看它是否重复。如果是,则重新生成元素。我在将元素添加到列表时无法检查元素。我在这个主题上发现的所有内容都是根据静态已知值检查列表。当新元素添加到列表中时,我想根据列表中已有的元素动态检查元素。以下是我到目前为止所拥有的。非常感谢任何帮助!
import random
player_count =int(input('Welcome! How many players? '))
for i in range (player_count):
x = random.randint(1,13)
y = random.choice(['-Spade','-Heart','-Diamond','-Club'])
card_set =[str(x) + y]
if card_set not in card_set:
card_set.append
print(card_set)
而不是在 if 条件之前设置 card_set,您应该创建另一个变量并分配新结果。如果新结果不在 card_set 中,则继续。
player_count = int(input('Welcome! How many players? '))
for i in range (player_count):
x = random.randint(1,13)
y = random.choice(['-Spade','-Heart','-Diamond','-Club'])
card = str(x) + y
if card not in card_set:
#do some stuff
您设置 card_set
每次通过循环时都是新鲜的。
saved = []
for i in range(10):
draw = new_draw() # returns a string
if draw not in saved:
saved.append(draw)
python 新手,之前的编程经验有限,我正在尝试创建纸牌游戏作为学习工具。第一步是发牌。我知道有很多方法可以做到这一点,包括创建卡片对象和交易方法。那将在以后出现。
现在,我想随机生成套件和数字,将这些值连接成一个字符串并将元素追加到列表中。发牌时,新生成的元素将与列表中已有的元素进行比较,看它是否重复。如果是,则重新生成元素。我在将元素添加到列表时无法检查元素。我在这个主题上发现的所有内容都是根据静态已知值检查列表。当新元素添加到列表中时,我想根据列表中已有的元素动态检查元素。以下是我到目前为止所拥有的。非常感谢任何帮助!
import random
player_count =int(input('Welcome! How many players? '))
for i in range (player_count):
x = random.randint(1,13)
y = random.choice(['-Spade','-Heart','-Diamond','-Club'])
card_set =[str(x) + y]
if card_set not in card_set:
card_set.append
print(card_set)
而不是在 if 条件之前设置 card_set,您应该创建另一个变量并分配新结果。如果新结果不在 card_set 中,则继续。
player_count = int(input('Welcome! How many players? '))
for i in range (player_count):
x = random.randint(1,13)
y = random.choice(['-Spade','-Heart','-Diamond','-Club'])
card = str(x) + y
if card not in card_set:
#do some stuff
您设置 card_set
每次通过循环时都是新鲜的。
saved = []
for i in range(10):
draw = new_draw() # returns a string
if draw not in saved:
saved.append(draw)