Python 2.7 将unicode字符转换为浮动Python
我用Python 3.6编写了以下代码:Python 2.7 将unicode字符转换为浮动Python,python-2.7,Python 2.7,我用Python 3.6编写了以下代码: u"\u2500" * 4 这给了我“────" 但是,当我在Python 2.7.15中运行代码时,会出现以下错误: TypeError:无法将序列与“float”类型的非int相乘 似乎整数4变成了浮点(4.0)。为什么会发生这种情况 我试过这个,它成功了: u"\u2500" * int(4) 谁能给我解释一下为什么整数转换成浮点数? 转换回int是解决我的问题的正确方法吗?似乎您运行的是u“\u250
u"\u2500" * 4
这给了我“────"
但是,当我在Python 2.7.15中运行代码时,会出现以下错误:
TypeError:无法将序列与“float”类型的非int相乘
似乎整数4变成了浮点(4.0)。为什么会发生这种情况
我试过这个,它成功了:
u"\u2500" * int(4)
谁能给我解释一下为什么整数转换成浮点数?
转换回int是解决我的问题的正确方法吗?似乎您运行的是u“\u2500”*4.0
,而不是u“\u2500”*4
。然后错误就很明显了。
所以在调用之前,您应该重新检查代码。问题似乎不在这里,而是在更高的地方
您始终可以打开控制台并检查这样的行为
etoneja@ois ~ $ python2
Python 2.7.18rc1 (default, Apr 7 2020, 12:05:55)
>>> u"\u2500" * 4
u'\u2500\u2500\u2500\u2500'
>>> print u"\u2500" * 4
────
>>> print u"\u2500" * 4.0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'float'
etoneja@ois~$python2
Python 2.7.18rc1(默认值,2020年4月7日,12:05:55)
>>>u“\u2500”*4
u'\u2500\u2500\u2500\u2500'
>>>打印u“\u2500”*4
────
>>>打印u“\u2500”*4.0
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:无法将序列与“float”类型的非int相乘