Как проверить, находится ли символ в 2d массиве, а затем вывести соответствующие значения - PullRequest
1 голос
/ 12 февраля 2020

Я хочу создать программу, которая запрашивает у пользователя слово. Дает каждому символу в алфавите число, а затем печатает номер для каждого символа в слове, которое они угадали.

Я, кажется, запутался в коде, который создал. Любой совет?

   T2 = [["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],
     ["_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_",]]
for i in range(0,26,1):
    T2[1][i] = list2[i]
list2 = []
for i in range(100):
    r = random.randint(0,26)
    if r not in list2: list2.append(r) 

list3 = []
for i in range(26):
    r = random.randint(0,5)
    if r not in list3: list3.append(r) 

for i in range(0,26,1):
    T2[1][i] = list2[i]

for r in T2:
    for c in r:
        print(c,end = " ")
    print()

guesses = ''
wordtoprint=""
word = input("What is the secret word? ").lower().strip()

for char in word:
    if char in T2[0]:
        char = T2[][i]
        wordtoprint=wordtoprint+char+" "
print(wordtoprint)

Я хотел бы увидеть вывод, если пользователь введет слово hello output, выводом будут числа, которым соответствуют эти буквы. ie 23 4 8 8 13

1 Ответ

0 голосов
/ 12 февраля 2020

Я думаю, что словарь вам очень поможет. Вместо ...

T2 = [["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],
       ["_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_","_",]]

for i in range(0,26,1):
    T2[1][i] = list2[i]

Используйте что-то подобное ...

import string

all_letters = enumerate(string.ascii_uppercase, 1)

pairs = []
for pair in all_letters:
    pairs.append( pair[::-1] )

T2 = dict(pairs)

Теперь вы можете легко сопоставить каждую букву с цифрой.

...