是否有一种方法可以根据用户在输入中写入的数字打印变量x次以决定x?[Python 3.8]

2024-05-09 02:19:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用random模块生成一个随机名称生成器。我使用最流行的第一个女性名字和男性名字以及流行的姓氏来生成两个名字,一个男性,一个女性:

firstnames = ['Liam', 'Noah', 'William', 'Oliver', 'Benjamin', 'Elijah', 'Lucas', 'Mason', 'Logan']
lastnames = ['Smith', 'Johnson', 'Williams', 'Jones', 'Garcia', 'Miller', 'Davis', 'Wilson', 'Martinez']
print(random.choice(firstnames) + " " + random.choice(lastnames))

firstfemnames = ['Emma','Olivia','Ava', 'Isabella', 'Sophia', 'Charlotte', 'Mia', 'Amelia', 'Harper', 'Evelyn']
lastfemnames = ['Smith', 'Johnson', 'Williams', 'Jones', 'Garcia', 'Miller', 'Davis', 'Wilson', 'Martinez']
print(random.choice(firstfemnames) + " " + random.choice(lastfemnames))

因此,打印后的输出将给出两个随机名称,如下所示:

Noah Jones
Evelyn Smith

我想输入在这两个名字被打印出来后,他们还需要多少个随机名字;例如,如果您在打印前两个随机名称[Noah Jones和Evelyn Smith]后进行输入,我想输入数字,因此如果您输入2,则会打印另外两个随机名称。我该怎么做


Tags: 名称random名字smithchoicejones男性williams
3条回答

要获取对数,请使用the input() function

要对其执行操作,请使用for循环


import random
firstnames = ['Liam', 'Noah', 'William', 'Oliver', 'Benjamin', 'Elijah', 'Lucas', 'Mason', 'Logan']
lastnames = ['Smith', 'Johnson', 'Williams', 'Jones', 'Garcia', 'Miller', 'Davis', 'Wilson', 'Martinez']
print(random.choice(firstnames) + " " + random.choice(lastnames))

firstfemnames = ['Emma','Olivia','Ava', 'Isabella', 'Sophia', 'Charlotte', 'Mia', 'Amelia', 'Harper', 'Evelyn']
lastfemnames = ['Smith', 'Johnson', 'Williams', 'Jones', 'Garcia', 'Miller', 'Davis', 'Wilson', 'Martinez']
print(random.choice(firstfemnames) + " " + random.choice(lastfemnames))

noofchildren=input()
for i in noofchildren:
    print(random.choice(firstfemnames) + " " + 
    random.choice(lastfemnames))

import random

firstnames = ['Liam', 'Noah', 'William', 'Oliver', 'Benjamin', 'Elijah', 'Lucas', 'Mason', 'Logan']
lastnames = ['Smith', 'Johnson', 'Williams', 'Jones', 'Garcia', 'Miller', 'Davis', 'Wilson', 'Martinez']


firstfemnames = ['Emma','Olivia','Ava', 'Isabella', 'Sophia', 'Charlotte', 'Mia', 'Amelia', 'Harper', 'Evelyn']
lastfemnames = ['Smith', 'Johnson', 'Williams', 'Jones', 'Garcia', 'Miller', 'Davis', 'Wilson', 'Martinez']



def printMaleName():
    print(random.choice(firstnames) + " " + random.choice(lastnames))

def printFemaleName():
    print(random.choice(firstfemnames) + " " + random.choice(lastfemnames))

male = int(input("Enter the number of male names you want: "))
female = int(input("Enter the number of female names you want: "))

for _ in range (male):
    printMaleName()
for _ in range(female):
    printFemaleName()

相关问题 更多 >