简体   繁体   English

在 python 中使用随机模块中的选择方法时出错

[英]Error while using choice method from random module in python

I was doing a small project to randomly change the surname among the names taken as input from the user.我正在做一个小项目,以随机更改作为用户输入的姓名中的姓氏。

def randomize(names):
    import random
    firstname = []
    surname = []
    n = 0
    for j in range(len(names)):
        name1 = names[j].split()
        firstname.append(name1[0])
        surname.append(name1[1])
    print(firstname)
    print(surname)
    while n < len(names):
        firstname = random.choice(firstname)
        surname = random.choice(surname)
        n += 1
        print(firstname + " " + surname)


if __name__ == '__main__':
    name = []
    number = int(input("Enter the number of students\n"))
    for i in range(number):
        name.append(input("Enter the names\n"))
    randomize(name)

It is working first at the first time but from the second line it is only printing letters repeatadly.它第一次工作,但从第二行开始,它只是重复打印字母。

def randomize(names):
    import random
    firstname = []
    surname = []
    n = 0
    for j in range(len(names)):
        name1 = names[j].split()
        firstname.append(name1[0])
        surname.append(name1[1])
    while n < len(names):
        firstname1 = random.choice(firstname)
        firstname.remove(firstname1)
        surname1 = random.choice(surname)
        surname.remove(surname1)
        print(firstname1 + " " + surname1)
        n += 1


if __name__ == '__main__':
    name = []
    number = int(input("Enter the number of students\n"))
    for i in range(number):
        name.append(input("Enter the names\n"))
    randomize(name)

Got it.知道了。 Thank you for looking into this.感谢您对此进行调查。 It was due to my hurry that I missed a small detail.由于我的匆忙,我错过了一个小细节。 I got the answer when I read it again.当我再次阅读它时,我得到了答案。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM