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")
我没有那个问题
答案 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