包含字符串和其他2个变量的打印变量

时间:2017-09-08 14:47:06

标签: python string python-3.x variables

var_a = 8
var_b = 3

var_c = "hello my name is:",var_a,"and",var_b,"bye"
print(var_c)

当我运行程序时,var_c被打印出来像这样:('你好我的名字是:',8,'和',3,'再见')但是所有的括号等都打印出来了,为什么这个和有没有办法摆脱这些符号?

如果我按这样运行程序:

print("hello my name is:",var_a,"and",var_b,"bye")

我没有那个问题

8 个答案:

答案 0 :(得分:7)

您可以format使用字符串来获得预期的字符串输出。

var_c = "hello my name is: {} and {}, bye".format(var_a, var_b)

如评论所示,您现有的输出是由于变量作为元组返回,而您希望它作为一个字符串。

答案 1 :(得分:7)

在Python 3.6+中,您可以使用新的f-strings(formatted string literals):

var_c = f"hello my name is: {var_a} and {var_b}, bye"

答案 2 :(得分:6)

var_c实际上是一个元组,所以print会像这样解释它并打印出它的表示。

var_a = 8
var_b = 3
var_c = "hello my name is:", var_a, "and", var_b, "bye"

但你可以告诉print使用元组作为*的参数

print(*var_c)

结果:

hello my name is: 8 and 3 bye

(当然这是理论上的,最好使用str.format作为其他答案)

答案 3 :(得分:1)

您应该将var_c创建为字符串,例如

var_c = "hello my name is: %s and %s bye" % (var_a, var_b)

答案 4 :(得分:0)

var_c = "hello my name is:",var_a,"and",var_b,"bye"

使用这一行,你将var_c作为元组...使它成为字符串使它像

var_d = "hello my name is:%s and %s bye" % (var_a,var_b)
print(var_d)

并输出

hello my name is:8 and 3 bye

答案 5 :(得分:0)

你的程序正在创建一个元组并打印元组:

var_a = 8
var_b = 3

var_c = "hello my name is:", var_a, "and", var_b, "bye"
print(var_c)

输出:

('hello my name is:', 8, 'and', 3, 'bye') 

或者像这样打印:

for item in var_c:
    print(item+' ', end='')

输出:

hello my name is: 8 and 3 bye

答案 6 :(得分:0)

那是因为你使用语法来创建一个元组!

tup = "a", "b", "c", "d"

请参阅:https://www.tutorialspoint.com/python/python_tuples.htm

如果你只想连接这些,你可以写:

var_c = "hello my name is: " + str(var_a) + " and " + str(var_b) + " bye"

答案 7 :(得分:-1)

var_a = 8
var_b = 3

var_c = "hello my name is:", var_a, "and", var_b, "bye"
print(var_c)

输出:

('hello my name is:', 8, 'and', 3, 'bye') 

或者像这样打印:

for item in var_c:
    print(item+' ', end='')

输出:

hello my name is: 8 and 3 bye