【问题标题】:Converting each character of a string to the decimal representation将字符串的每个字符转换为十进制表示
【发布时间】:2018-01-17 18:48:00
【问题描述】:

我坚持用 Python 编写代码块,将字符串中的每个字符转换为其十进制和二进制数字表示。例如,如果用户输入单词“bad”,程序需要输出“b”“a”“d”的十进制和二进制数字表示。

“b”“a”“d”所需的十进制表示为 1 0 3,“b”“a”“d”所需的二进制表示为 00001 00000 00011。

【问题讨论】:

  • “b”“a”“d”的“十进制和二进制数字表示”是什么?
  • 欢迎来到 Stack Overflow。这不是一个代码/SQL/正则表达式编写服务,您可以在其中发布您的要求和选择的语言列表,并且代码猴子会为您生成代码。我们非常乐意提供帮助,但我们希望您首先努力自己解决问题。完成后,您可以解释您遇到的问题,包括您工作的相关部分,并提出具体问题,我们会尽力提供帮助。祝你好运。
  • “b”“a”“d”的十进制表示为 1 0 3。“b”“a”“d”的二进制表示为 00001 00000 00011。

标签: python encryption plaintext


【解决方案1】:

ord 为您获取每个字符的代码。用正确的format 字符串映射它,你就完成了:

s = "bad"

print(["{0} {0:b}".format(ord(c)) for c in s])

打印:

['98 1100010', '97 1100001', '100 1100100']

忽略代码偏移(通过减去a 的代码)并使用更多格式(零填充的 5 位二进制):

["{0} {0:05b}".format(ord(c)-ord('a')) for c in s]

你得到:

['1 00001', '0 00000', '3 00011']

【讨论】:

  • 好点。在法语中,操作是“soustraction”,这就是原因。吸取教训,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-03
  • 2018-12-12
  • 2017-05-16
  • 2014-12-04
相关资源
最近更新 更多