Python TypeError:只能将str连接到str
这段代码有什么问题Python TypeError:只能将str连接到str,python,python-3.x,Python,Python 3.x,这段代码有什么问题 print('Podaj jakiś tekst') x=input() print('ten tekst ma'+(len(x))+'znaków') 输出为: Podaj jakiś tekst hello Traceback (most recent call last): File "C:\Users\48573\PycharmProjects\niewiem\main.py", line 3, in <module> p
print('Podaj jakiś tekst')
x=input()
print('ten tekst ma'+(len(x))+'znaków')
输出为:
Podaj jakiś tekst
hello
Traceback (most recent call last):
File "C:\Users\48573\PycharmProjects\niewiem\main.py", line 3, in <module>
print('ten tekst ma'+(len(x))+'znaków')
TypeError: can only concatenate str (not "int") to str
Podaj jakiśtekst
你好
回溯(最近一次呼叫最后一次):
文件“C:\Users\48573\PycharmProjects\niewiem\main.py”,第3行,在
印刷品('ten tekst ma'+(len(x))+'znaków')
TypeError:只能将str(而不是“int”)连接到str
问题在于len()
返回的是int
,而不是str
(字符串)。将最后一行更改为:
print('ten tekst ma'+str((len(x)))+znaków')
或使用:
print(f“ten tekst ma{len(x)}znaków”)
以下是两个例子:
$ python
Python 3.8.6 (default, Jan 27 2021, 15:42:20)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x=input()
asdf
>>> print('ten tekst ma'+str((len(x)))+'znaków')
ten tekst ma4znaków
>>> print(f"ten tekst ma{len(x)}znaków")
ten tekst ma4znaków
请注意,数字4(即我提供的输入中的字符数)出现在两个输出中。您试图调试该问题的原因是什么?对于给定的消息是否有任何不清楚的地方?
print('ten-tekst ma'+str(len(x))+'znaków')
这可能会解决问题,因为len()
返回int
值,所以您必须将其转换为str
类型函数len不计算xDoes帮助?第一种方式回溯(最近的调用最后):文件“C:\Users\48573\PycharmProjects\niewiem\main.py”,第3行,打印('ten tekst ma'+str((len(x))+'znaków')TypeError:type'builtin_function_或_method'的对象没有len(),我为这两种可能性添加了示例,以说明它们是如何工作的。