【问题标题】:an integer is required, chr defined需要一个整数,chr 定义
【发布时间】:2014-04-20 02:32:30
【问题描述】:

给出的错误行是:

letter = chr(input('Enter a letter')).lower()

我收到的输出是:

TypeError: an integer is required

有什么我没有放的吗?我想自从我 有 chr() 它应该需要任何单个字符。

【问题讨论】:

  • 你知道chr 是做什么的吗? docs.python.org/2.7/library/functions.html#chr 它将整数转换为它的 ASCII 字符表示。
  • @leetNightshade:这很可能是 Python 3,其中chr() 从整数生成任何合法的 Unicode 代码点。
  • Python 没有强制的显式类型。更重要的是,它本身没有“字符”数据类型,只有一个长度的字符串。

标签: python integer typeerror chr


【解决方案1】:

chr() 需要一个整数,但input() 返回一个字符串。只需删除chr() 调用:

letter = input('Enter a letter').lower()

如果您想将输入限制为一个字符,请使用切片:

letter = input('Enter a letter')[:1].lower()

Python 没有“单字符”类型。

chr() 仅用于将整数代码点转换为(单个字符)字符串:

>>> chr(65)
'A'

【讨论】:

  • 是的,我认为 OP 来自具有更明确类型的编程背景,例如 C。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-06
  • 2015-07-14
  • 2019-03-22
  • 2018-05-04
  • 1970-01-01
  • 2015-08-10
  • 2017-12-08
相关资源
最近更新 更多