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

コーディングを始める前に、問題をよく考えた方が簡単だと思います。

最初のステップがあります: ユーザーから番号を取得します

2 番目のステップは、0 から 1000 まで行って、その数を掛けることで構成されていると思います。擬似コード:

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

あなたの問題は、更新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-02T20:04:11.387 に答える