我对python和编程非常陌生,我尝试添加数字2,所以结果是这样的:
Oddur keypti skónumer 39 fyrir Línu sem kostuðu 3500 krónur.
En þá mundi hann að hún notar skónúmer 41
但是我不知道如何在打印时添加数字。
基本上我想加上"2"到变量" skon& quot;Skonr = 39,我想让它在最后41,但在第一部分39
我代码:
karl = " Oddur "
kona = "Línu "
skonr = 39
kr = "3500"
lina1 = "keypti skónumer "
lina2 = " fyrir "
lina3 = "sem kostuðu "
lina4 = " krónur.n En þá mundi hann að hún notar skónúmer "
print(karl + lina1 + skonr + lina2 + kona + lina3 + kr + lina4 + skonr + 2)
对于这种打印,最好使用格式字符串,并且它允许您对打印上下文中的值进行小的调整:
print(f"{karl} keypti skónumer {skonr} fyrir {kona} sem kostuðu {kr} krónur.n En þá mundi hann að hún notar skónúmer {skonr + 2}")
您正在尝试将整数和字符串一起添加到一个print语句中。您需要将整数转换为字符串。所以与其…skonr + 2
,像str(skonr+2)
一样。一定要把第一个skonr
也写成str(skonr)
。
有很多方法可以做到。
当你在基本的时候,用简单的解决方案。
例如:
a = 'this'
b = 20
print(a+str(b+2))
对于您的目的,您可以使用带有多个参数的print:
print(karl, lina1, skonr, lina2, kona, lina3, kr, lina4, skonr+2)
在这种情况下,每个实参要么是string,要么是int。这样skonr+2是可以的,因为我们只是把两个int型加起来。
你所做的基本上是对的。您只需要在打印时将整数类型转换为字符串。这可以通过在str()
:
print(karl + lina1 + str(skonr) + lina2 + kona + lina3 + kr + lina4 + str(skonr) + str(2))
输出:
Oddur keypti skónumer 39 fyrir Línu sem kostuðu 3500 krónur.
En þá mundi hann að hún notar skónúmer 392
这里有一个函数可以解决你的问题:
def printer(*list_):
str_ = ''
for x in list_:
if isinstance(x, int) or isinstance(x, float):
str_ += str(x)
continue
if isinstance(x, str):
str_ += str(x)
continue
str_ += repr(x)
print(str_)
printer(karl, lina1, skonr, lina2, kona, lina3, kr, lina4, (skonr + 2))
>>> Oddur keypti skónumer 39 fyrir Línu sem kostuðu 3500 krónur.
En þá mundi hann að hún notar skónúmer 41
你可以用return
语句代替print(str_)
,或者用这个连接的字符串