所以我来这里得到我的想法捷径。我写了一个小程序来填充我的游戏与随机NPC的。这是工作,但方式是他是dooin列表不是我所期望的或我所期望的,但我想找到变通办法。
如何不简单地加倍?:)我是初学者。是的,我可以使用dict,但我更喜欢list。这是一个很大的缺点吗?注解块很少尝试解决,但我知道在def random_male()中我添加了两个字符串。
对我来说,可能的方法是拆分这个,然后从名字和姓氏列表中获取索引,并使用“for”和“如果名字和姓氏......真的,我不知道如何绕过这个问题......目前:)任何点?
import random
women_names = ["Jennifer", "Jenna", "Judith", "Becky", "Kelly"]
man_names = ["Adam", "John", "Jack", "Jim", ]
surnames =["Salzinger", "Jefferson", "Blunt", "Jigsaw", "Elem"]
marriage_status = ["Single", "In couple", "Engaged", "Married", "Divorced", "Widow"]
male_NPCs = []
list = []
def clr_list(list):
del list
def randomizer(list):
random_choice = random.choice(list)
clr_list(list)
return random_choice
def random_male():
male_surname = randomizer(surnames)
male_name = randomizer(man_names)
male_NPC = male_name + " " + male_surname
return (male_NPC)
def add_one_man():
male_NPCs.append(random_male())
return
def addding_male_NPC(count_of_NPC_males):
while count_of_NPC_males > 1:
add_one_man()
# for m in male_NPCs:
# unique_count = male_NPCs.count(m)
# if unique_count > 1:
# male_NPCs.pop(unique)
# count_of_NPC_males +=1
# else:
count_of_NPC_males -= 1
count_of_NPC_males = int(input("How many males should create?: "))
addding_male_NPC(count_of_NPC_males)
print(male_NPCs)
print(len(male_NPCs))
所以我尝试了这个,但它不可能计数字符串或不知何故不使用好。计数什么是最有可能的。得到的想法采取索引之前,创建字符串的总和,并使用它来检查双,但我觉得我做了圆圈。我明白,提供的姓名和姓氏的列表并不保证与高数字双,但你得到了这一点。
def addding_male_NPC(count_of_NPC_males):
while count_of_NPC_males > 1:
add_one_man()
for m in male_NPCs:
unique_count = male_NPCs.count(m)
if unique_count > 1:
male_NPCs.pop(unique)
count_of_NPC_males +=1
else:
count_of_NPC_males -= 1
编辑这太可悲了:(
mylist = ["a", "b", "a", "c", "c"]
mylist = list(dict.fromkeys(mylist))
print(mylist)
但无论如何,它将削减计划和需要的项目数量。所以问题仍然是活跃的。这个答案是相当一半的答案。我等待更好的一个。
1条答案
按热度按时间rkkpypqq1#
最后,将字符串列表转换为集合,然后再转换回列表以删除任何重复项,然后使用len()函数确定列表的长度与所需长度的比较,并再次调用该函数,这一次添加到列表中。