我正在制作这个程序,要求您提供一个数字,然后打印出该数字的次数表的前1000项。我正在使用Python3x输出应该是:

但它却给了我这样的答案:

这是代码:
multiplication = 0
firstnumber = int(input("Enter a number: "))
number = firstnumber
for j in range(0, 1001):
for i in range(0, 1001):
multiplication = multiplication+1
number = number*multiplication
print(str(multiplication) + " times " + str(firstnumber) + " is " + str(number))谢谢
发布于 2013-11-02 20:04:11
您的问题是更新number并不断地将其乘以。您预见到了这个问题,并创建了一个名为firstnumber的变量来解决这个问题,但是您忘记了使用它。以下是你的本意:
>>> multiplication = 0
>>> firstnumber = int(input("Enter a number: "))
Enter a number: 17
>>> number = firstnumber
>>> number = firstnumber
>>> for j in range(0, 1001):
... for i in range(0, 1001):
... multiplication = multiplication+1
... number = firstnumber * multiplication
... print(str(multiplication) + " times " + str(firstnumber) + " is " + str(number))
...
1 times 17 is 17
2 times 17 is 34
3 times 17 is 51
4 times 17 is 68
5 times 17 is 85
6 times 17 is 102
7 times 17 is 119
8 times 17 is 136
9 times 17 is 153
10 times 17 is 170
11 times 17 is 187
12 times 17 is 204
13 times 17 is 221
14 times 17 is 238
15 times 17 is 255
16 times 17 is 272然而,你可能会更好地做这样的事情:
number = int(input("Enter a number: "))
mult = int(input("How many multiples: "))
for i in range(mult+1):
print("%d times %d is %d" %(number, i, number*i))发布于 2013-11-02 20:03:52
在开始编写代码之前,我发现更容易考虑这个问题。
您有第一步:从用户那里获得一个数字。
我认为第二步是从0到1000,然后把这个数字乘以。在psuedo代码中:
users_number = some_number
for num from 0 - 1000:
print(num * usernumber)发布于 2013-11-02 20:58:49
可能不是最好的代码,但比你正在尝试的代码要好。
given_number = int(input("Enter a number: "))
for multiplier in range(1,1001):
print("{0:4} times {1} is {2}".format(multiplier, given_number, multiplier*given_number))https://stackoverflow.com/questions/19746215
复制相似问题