В настоящее время я экспериментирую со списками в python и пытаюсь создать программу, которая будет имитировать игру с именем (нажмите здесь для справки) .
Программа запрашивает ввод пользователя и генерирует список с каждой буквой имени пользователя. Затем он должен сгенерировать 3 новых имени, каждое из которых начинается с "b", "f", "m"
.
Итак, Роберт стал бы:
[['b', 'o', 'b', 'e', 'r', 't'], ['f', 'o', 'b', 'e', 'r', 't'],
['m', 'o', 'b', 'e', 'r', 't']]
Однако в тех случаях, когда имя начинается с той же буквы, первая буква просто удаляется, поэтому Билли становится
[['i', 'l', 'l', 'y'], ['f', 'i', 'l', 'l', 'y'], ['m', 'i', 'l',
'l', 'y']]
Однако, когда я запускаю свой код, вместо этого получается:
[['b', 'i', 'l', 'l', 'y'], ['f', 'i', 'l', 'l', 'y'], ['m', 'i',
'l', 'l', 'y']]
Кто-нибудь может помочь? Есть ли ошибка в моем условии? Вот мой код:
# Asks for user name
user_name = input("Enter name here: ")
name = list(user_name)
# Create an empty list that will contain a subsets of lists.
master_list = []
# List containing the first letter of each new name
beginning_of_word = ["b", "f", "m"]
# Creates 3 new names and appends them to master_list
for var in beginning_of_word:
new_list = list(name)
# if new_list[0] != 'B' or new_list[0] != 'F' or new_list[0] != 'M':
if 'B' not in new_list or 'F' not in new_list or 'M' not in new_list:
new_list.pop(0)
new_list.insert(0, var)
master_list.append(new_list)
else:
new_list.pop(0)
master_list.append(new_list)
print(master_list)