2013-10-07 58 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))