gpt4 book ai didi

python - 函数输出为整数(TypeError : must be str, 不是 int)

转载 作者:太空宇宙 更新时间:2023-11-03 21:20:44 25 4
gpt4 key购买 nike

我是编程新手,从 Python 开始。我正在尝试编写一个输出类似于“|1|2”的函数

如果我编写代码为:

def xbrd(int1,int2):
print("|"+int1+"|"+int2)
<小时/>

输出有错误 >> TypeError: 必须是 str,而不是 int

完整详细信息如下:

TypeError                                 Traceback (most recent call last) <ipython-input-43-e3178cb02070> in <module>()
----> 1 xbrd(1,2) <ipython-input-42-07f9ddd5a2b8> in xbrd(int1, int2)
1 def xbrd(int1,int2):
----> 2 print("|"+int1+"|"+int2) TypeError: must be str, not int
<小时/>

现在,如果按如下方式编写,那么我将得到所需的输出。

def xbrd(int1,int2):
print(f'|{int1}|{int2}')
<小时/>

这是否意味着在后面的代码中输出将以字符串形式出现?我需要什么才能获得整数输出?

最佳答案

这是因为所有字符串格式化方式都会将其放入 str 中,因为它们会出现在字符串中,例如:

>>> a=1
>>> f'{a}'
'1'
>>> '%s'%a
'1'
>>> '{}'.format(a)
'1'
>>>

这样你的代码就可以工作了,所以这里是具有我上面提到的所有格式设置方式的代码:

def xbrd(int1,int2):
print(f'|{int1}|{int2}')
<小时/>
def xbrd(int1,int2):
print('|%s|%s'%(int1,int2))
<小时/>
def xbrd(int1,int2):
print('|{}|{}'.format(int1,int2))

请注意,还有另一种方法,无需字符串格式化或任何其他内容,与第一个示例类似,但它只是使用 str 将整数转换为字符串:

def xbrd(int1,int2):
print("|"+str(int1)+"|"+str(int2))

关于python - 函数输出为整数(TypeError : must be str, 不是 int),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54272922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com