2013-10-07 55 views
0

我对编码完全陌生,刚刚掌握了Raspberry Pi,我从头开始。我试图用一个简单的程序来显示从用户输入中选择的乘法表。整个代码列表如下 - 对不起,如果它的邋遢在Python中打印字符串和变量的新手问题

我在寻找的输出例如

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

等等

我实际上得到的是:

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

等...

任何人都可以帮我一个理由,为什么这是出来这个办法?我很欣赏代码可能有点臃肿和臃肿。我试图使用几种不同的方法来设置变量等,只是为了实验。

预先感谢您 麦克

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 
+0

这是Python的2或3?我*怀疑* Python 3,但是你的实际输出似乎有一个额外的'''''';我希望你的代码能打印出(((1,“x”),5),'+')5',* not *'(((1,“x”),5),'+') 5)'。 –

回答

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(),否则是一个字符串。

+0

好东西谢谢。第二份印刷声明完全符合我的需要。我之前在这些方面做过一些尝试,但我没有完全明白标点符号的含义。没有意识到我创建了元组 - 不知道他们是什么!也许这在下一课我会尝试。 –

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

  2. 要构建的元组,而不是格式化输出,如果你想格式化pirntout,这里最简单的方法是使用format从蟒蛇DOC讨论:http://docs.python.org/2/library/string.html 。该代码会是这样,

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