首页 > 解决方案 > 我知道我写这个 for 循环是错误的,那么我该如何正确写它才能接受多个字母呢?

问题描述

我正在尝试将文本写入二进制转换器,它有点工作,但它一次只接受一个字母。我如何使它可以接受多个字母?非常感谢您的帮助。也是第一次在这里发帖,所以如果我做错了什么请告诉我。

在我意识到我可以只做一个 for 循环之前,我对每个字母都进行了硬编码,这很痛苦,所以我只做了一个循环。

letters = {
  'A' : 65,
  'B' : 66,
  'C' : 67,
  'D' : 68,
  'E' : 69,
  'F' : 70,
  'G' : 71,
  'H' : 72,
  'I' : 73,
  'J' : 74,
  'K' : 75,
  'L' : 76,
  'M' : 77,
  'N' : 78,
  'O' : 79,
  'P' : 80,
  'Q' : 81,
  'R' : 82,
  'S ': 83,
  'T' : 84,
  'U' : 85,
  'V' : 86,
  'W' : 87,
  'X' : 88,
  'Y' : 89,
  'Z' : 90,
}
def converter():
    answer = input('What would you like to convert to binary?')
    for i in range(1):
        print(bin(letters.get(answer)))

while True:
    converter()

标签: pythonpython-3.x

解决方案


你不需要字典,你可以使用如下的ord函数。

def converter():
    answer = input('What would you like to convert to binary?')
    for c in answer:
        print(bin(ord(c)))

例如

What would you like to convert to binary?A
0b1000001
What would you like to convert to binary?B
0b1000010
What would you like to convert to binary?AB
0b1000001
0b1000010

推荐阅读