【问题标题】:String not changing to uppercase字符串不更改为大写
【发布时间】:2021-01-05 19:06:47
【问题描述】:

我想知道为什么我没有得到想要的输出? 我的代码 -

???????????????????????? = ['????????????????', '????????????????????????????????']
for i in ????????????????????????:
  print(i.upper())
print(????????????????????????)

输出 -

????????????????
????????????????????????????????
['????????????????', '????????????????????????????????']

所需的输出 -

FREE
CODECAMP
['????????????????', '????????????????????????????????']

【问题讨论】:

  • 这按预期工作。我在 Python2 和 Python3 中都得到了所需的输出。
  • @Amy 你是复制文本还是重新输入它?
  • 正如下面提到的@DYZ,我的字符串是用数学等宽字体编写的,这就是为什么我没有得到想要的输出
  • 啊,因为代码太短了,我只是重新输入了它。 :)
  • 对于那些试图关闭帖子的人:恕我直言,这个案子太离奇了,值得写在书上。证明我错了。

标签: python-3.x list uppercase


【解决方案1】:

您的文字是用没有大写字母的数学等宽字体书写的:

hex(ord(mylist[0][0]))
#'0x1d68f'
hex(ord('f'))
#'0x66' - this is the "normal f"
mylist[0][0] == 'f'
# False

所以,从技术上讲,一切正常:i.upper()i 转换为大写字母,但由于没有大写字母,因此转换的结果是相同的字符串。

【讨论】:

  • 你能帮我理解你的代码吗?你是如何推断它是“数学等宽字体”的?
猜你喜欢
  • 2011-01-07
  • 2012-03-04
  • 2014-02-04
  • 1970-01-01
  • 2021-03-30
  • 2012-01-03
  • 1970-01-01
  • 2019-07-20
  • 2019-09-27
相关资源
最近更新 更多