我是编程新手,从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}')
这是否意味着以后的代码输出以字符串形式出现?我需要获取整数输出吗?
答案 0 :(得分:0)
这是因为所有的字符串格式化方式都将它们放入了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))