0

从变量打印时,有什么方法可以避免打印出数据(如引号、括号、逗号和其他重要的数学符号)?

int1 = random.randint(1,100)
int2 = random.randint(1,100)
q1 = "What is", int1, "+", int2, "?"
answer = int(raw_input(q1))

上面的代码打印了这个:

('What is', 75, '+', 74, '? ')149

打印上述内容的正确方法应该是这样的:

What is 75 + 74? 149
4

3 回答 3

3

“正确的方法”是使用str.format

q1 = "What is {0} + {1}? ".format(int1, int2)
answer = int(raw_input(q1))
于 2014-04-10T11:22:53.087 回答
2

我认为最清晰的语法是将常量字符串与变量分开的语法:

print "What is %d + %d?" % (int1, int2)
于 2014-04-10T11:23:37.960 回答
0

简单的:

q1 = "What is" +  str(int1) +  "+" + str(int2) + "?"

或者

' '.join([str(x) for x in q1])
于 2014-04-10T11:21:47.840 回答