【问题标题】:How to check if a character is in an 2d array and then print the corresponding values如何检查一个字符是否在二维数组中,然后打印相应的值
【发布时间】:2020-05-28 03:36:48
【问题描述】:

我想创建一个程序来询问用户一个单词。给字母表中的每个字符一个数字,然后打印出他们猜到的单词中每个字符的数字。

我似乎对自己创建的代码感到困惑。有什么建议吗?

   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 输出将是这些字母对应的数字。 即 23 4 8 8 13

【问题讨论】:

  • list2 是什么?
  • 您能否添加示例输入和预期输出。
  • 列表 2 是一个列表,包含 alpbet 中每个字母的 0,26 之间的所有随机数
  • 那是完整的代码吗?似乎缺少 list2 的初始化。
  • 我已经更新了代码

标签: python arrays char


【解决方案1】:

我认为字典会对你有很大帮助。而不是...

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)

现在您可以轻松地将每个字母映射到一个数字。

【讨论】:

    猜你喜欢
    • 2013-08-07
    • 1970-01-01
    • 2022-01-05
    • 2020-02-25
    • 2019-10-24
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多