【问题标题】:Total number of alphanum values in pythonpython中字母数字值的总数
【发布时间】:2016-07-19 21:16:03
【问题描述】:

我正在制作一个代码,其中每个字符都与一个数字相关联。为了让我的生活更轻松,我决定使用字母数字值(a=97、b=98、z=121)。我的代码的第一步是从一个字符中取出一个数字。例如: char = input"Write a character:" print(ord(char.lower()))

不过,我需要知道存在的字母字符总数,但我在任何地方都找不到答案...

【问题讨论】:

  • 您是否使用字典来存储这些关联?
  • 能否请您添加您编写的示例代码?
  • 基本上我正在加密文本,我创建的方式要求我在加密/解密时知道字母数字字符的最大数量。我曾经制作自己的系统,其中 a=1, ?=32 我无法访问小写字母和其他未包含在代码中的字符。我发现将每个字符都分配给数字的最简单方法是在 while 循环中使用用户输入,将字符更改为它的字母数字值。

标签: python python-3.x alphanumeric


【解决方案1】:

你的问题不是很清楚。为什么需要字母数字字符的总数?

问题是,这个数字取决于所讨论的编码。如果 ASCII 有问题,那么:

>>> import string
>>> len(string.letters+string.digits)

你可以通过手动计数来做到这一点。

这甚至不是总数,因为在 0-128 ASCII 范围内还有一些其他语言的 alpha。

如果是 unicode,那么您将不得不搜索规范以查看其中有多少。我什至不知道有多少字母被塞进了 unicode 或 UTF-8。

如果是识别字符串中的字母数字字符的问题,那么 Python 有一个很好的方法来做到这一点:

>>> "A".isalnum()
>>> "0".isalnum()
>>> "[".isalnum()

所以,请更清楚地表达自己。

【讨论】:

  • 你可以从 "".isalnum() 中得到的最大数字是多少?基本上我正在加密文本,并且我的代码的制作方式需要知道一个最大值(它在加密时使用它来乘以值)。
  • "".isalnum() 的最大数量为 1,因为它返回一个布尔值。您可以通过遍历该编码和计数中的所有字符来计算编码中的最大 alnum。计数 = 0;对于 x 范围内的 x(2**16):count += unichr(x).isalnum()
  • 答案是 1,因为 "".isalnum() 返回一个布尔值。但你可以数:count = 0;对于 x 范围内的 x(2**16):count += unichr(x).isalnum()
  • 对不起,评论 1 没有出现,所以我写了第二个。无论如何,您的加密不是什么,最好是逐字节使用您的字符串和密钥,当密钥比字符串短时,然后再次从密钥的开头开始。在其他人知道密钥或至少其中一部分之前,此操作速度很快且几乎无法破解。
  • 我的意思是“你可以从“.isalnum()”中得到的最大数字是多少,我不知道哪个字符的值最大,所以我把它留空。 ..
猜你喜欢
  • 2021-07-26
  • 1970-01-01
  • 2023-03-17
  • 2020-03-22
  • 1970-01-01
  • 2013-09-15
  • 2021-12-22
  • 2021-06-20
  • 2014-10-22
相关资源
最近更新 更多