Как случайным образом соединить входные данные пользователей со строками, хранящимися в массиве, используя random.choice - PullRequest
0 голосов
/ 25 февраля 2019

Мне нужно написать программу, которая будет автоматически генерировать уникальные имена пользователей для студентов.Имена пользователей должны быть длиной шесть символов.Программа должна сгенерировать и отобразить список имен учеников.Программа спросит, сколько имен пользователей должно быть сгенерировано.Для каждого имени пользователя будут введены первые три буквы имени ученика, а затем объединены со случайным окончанием из списка ниже: Ing, end, axe, gex, goh.Dav.Программа сгенерирует имя пользователя, СЛУЧАЙНО присоединяя Dav к одному из окончаний.Например - Daving.

Это все, что у меня пока есть, Я был бы очень признателен, если бы кто-нибудь знал, как использовать random.choice, чтобы случайным образом комбинировать первые 3 буквы своего имени ученика с окончаниемкоторые хранятся в массиве.Спасибо!

мой код пока:

#Initialising the variables
usernames=0
usernameEndings=["ing", "end", "axe", "gex", "goh"]
studentsName=""
#Getting inputs
usernames=int(input("How many ``usernames are to be generated?"))
#proccess
for counter in range(0,usernames):
    studentsName = str(input("Please enter the first three letters of students name."))
        while len(str(studentsName)) <3 or len(str(studentsName)) >3:
        studentsName= str(input("ERROR, please re-enter the first three letters of students name."))

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Большое спасибо за помощь всем, я действительно ценю это.это помогло мне закончить мой проект.вот код, который я собрал.

#Initialising the variables
usernames=0
usernameEndings=["ing", "end", "axe", "gex", "goh"]
studentsName=""

#Getting inputs
usernames=int(input("How many usernames are to be generated?"))

#proccess
for counter in range(0,usernames):
    studentsName = str(input("Please enter the first three letters of students name."))
    while len(str(studentsName)) != 3:     
        studentsName= str(input("ERROR, please re-enter the first three letters of  students name."))
    import random
    print((str(studentsName))+random.choice(usernameEndings))

#end of program    
0 голосов
/ 25 февраля 2019

Я сделал несколько незначительных изменений в вашем коде, исправил ошибку отступа и добавил пропущенную строку.Если нет необходимости сохранять имена пользователей, программа может просто распечатать каждое имя пользователя по очереди:

import random

#Initialising the variables 
usernames = 0
usernameEndings = ["ing", "end", "axe", "gex", "goh"]
studentsName = ""
#Getting inputs
usernames=int(input("How many usernames are to be generated?"))
#process
for counter in range(0,usernames):
    studentsName = str(input("Please enter the first three letters of students name."))
    while len(str(studentsName)) != 3:
        studentsName = str(input("ERROR, please re-enter the first three letters of students name."))
    print('Your username is {}'.format(studentsName[:3] + random.choice(usernameEndings)))

Вывод:

How many usernames are to be generated?2
Please enter the first three letters of students name.ali
Your username is aligoh
Please enter the first three letters of students name.bob
Your username is bobaxe
...