新手问题.在打印时向变量添加数字



我对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_),或者用这个连接的字符串

做任何你想做的事情

相关内容

  • 没有找到相关文章

最新更新