在Python中打印字符串和变量的新手问题

时间:2013-10-07 21:28:10

标签: python variables printing

我对编码完全陌生,只是抓住了Raspberry Pi,我从头开始。我正在尝试一个简单的程序来显示从用户输入中选择的乘法表。整个代码列在下面 - 抱歉,如果它的邋p

我正在寻找的输出是例如

1 x 5 = 5
2 x 5 = 10
3 x 5 = 15

等...

我实际得到的是:

(((1, "x"), 5), ' + ') 5)
(((2, "x"), 5), ' + ') 10)
(((3, "x"), 5), ' + ') 15)

等...

任何人都可以帮我解释为什么会这样出现吗?我很欣赏代码可能有点邋and和臃肿。我试图使用几种不同的方法来设置变量等,仅仅是为了实验。

提前谢谢你 麦克

m = int(1)
z = input ("What table would you like to see?")
t = int(z)
while m <13:
    e = int(m*t)
    sumA = (m, " x ")
    sumB = (sumA, t)
    sumC = (sumB, " + ")
    print (sumC, e)
    m += 1

2 个答案:

答案 0 :(得分:2)

不要使用元组作为中间变量;只打印整件事:

while m <13:
    e = m * t
    print(m, 'x', t, '+', e)
    m += 1

您可能希望使用基于range()的循环而不是while

z = input ("What table would you like to see?")
t = int(z)
for m in range(1, 13):
    e = m * t
    print(m, 'x', t, '+', e)

请注意,无需多次拨打int();在input()的返回值上仅使用 ,否则为字符串。

答案 1 :(得分:2)

  1. 您不需要在python中指定类型。而不是m = int(1),您可以说m= 1e = m* t

  2. 你正在构建元组而不是格式化输出,如果你想格式化pirntout,这里最简单的方法是使用python doc:http://docs.python.org/2/library/string.html中讨论的format。代码就像,

    print("{0} x {1} = {2}".format(m, t, e))