Python中的循环乘法?

2024-09-30 04:39:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我做了一个程序,要求你输入一个数,然后打印出这个数的乘法表的前1000个项。我使用的是python3x,输出应该是:

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

谢谢


Tags: 代码in程序numberforinputrangeint
3条回答

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

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

你的问题是你更新了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

不过,你可能会更好地做这样的事情:

^{pr2}$

我发现在开始编写代码之前更容易思考这个问题。在

第一步:从用户那里获取一个号码

我认为第二步是从0到1000再乘以这个数字。在psuedo代码中:

users_number = some_number
for num from 0 - 1000:
  print(num * usernumber)

相关问题 更多 >

    热门问题