2015-10-20 103 views
0
number=int(input("Please enter a number:  ")) 

for b in range(1,11): 
    b=int(b) 
    output=int (number) *int (b) 
    print(+str (b) +" times "+ str (number) +" is " +output) 

我想要的程序,要求一個數字,然後打印出它的次表最多10 *號,但我不斷收到此錯誤。順便說一下,我正在進行GCSE計算。類型錯誤:壞的操作類型一元+:「STR」蟒蛇

Traceback (most recent call last): 
File "C:\Users\jcowp_000\Documents\School\Lutterworth\Computing\Documents_-_-___________---________---______-_-_-_-__-__\Python\Python manual tasks.py", line 21, in <module> 
print(+str (b) +" times "+ str (number) +" is " +output) 
TypeError: bad operand type for unary +: 'str' 
+0

你爲什麼要做'b = int(b)'? 'b'已經是'int'了。另外,你想用'+ str(b)'來做什麼? – dorverbin

+0

我想要它打印,例如1次5是5,2次5是10等 –

+0

尾隨+不應該在那裏,你也應該把你的輸出轉換成字符串。否則,Python將不知道是否要執行字符串連接或添加數字。 – chiffa

回答

1

我想這是你想要做什麼:

number = int(input("Please enter a number:  ")) 

for b in range(1,11): 
    output = int(number) * b # b is already an int, you can use it directly in computations 
    print(str(b) + " times " + str(number) + " is " + str(output)) 

注意+str(b)是不正確的語法,還要注意不能連接" is",這是一個str,與output,這是一個int

+0

哦謝謝這有幫助 –

+0

聽起來諷刺的 –

+0

它現在的作品! –

相關問題