1

我正在制作这个程序,它会询问您一个数字,然后打印出该数字时间表的前 1000 个术语。我正在使用 Python 3x 输出应该是:

http://snag.gy/KxM37.jpg

但相反,它给了我这个:http://snag.gy/SQTAe.jpg

这是代码:

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))

谢谢

4

3 回答 3

2

I find it easier to think through the problem before trying to start coding.

You have the first step: Get a number from the user

I think the second step consists of going from 0 To 1000 and multiplying that number. In psuedo-code:

users_number = some_number
for num from 0 - 1000:
  print(num * usernumber)
于 2013-11-02T20:03:52.183 回答
1

Your problem is that you update number and keep multiplying it. You foresaw this problem and created a variable called firstnumber to tackle it, but you forgot to use it. Here’s what you meant to do:

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

You are likely, however, much better off, to do something like this:

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-02T20:04:11.387 回答
0

可能不是最好的代码,但比您尝试的要好。

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))
于 2013-11-02T20:58:49.233 回答