Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 读取2个正整数并仅使用“打印”打印其前倍数的程序;而";_Python_Python 3.x_While Loop - Fatal编程技术网

Python 读取2个正整数并仅使用“打印”打印其前倍数的程序;而";

Python 读取2个正整数并仅使用“打印”打印其前倍数的程序;而";,python,python-3.x,while-loop,Python,Python 3.x,While Loop,我试图编写一个程序,读取2个正整数(m和n),然后仅使用while循环打印m的n个第一个正整数 这是原来的问题 用Python3.x语言编写一个程序,读取两个正整数m和n,并打印第一个正整数n m的倍数 代码的输出应该如下所示: Type a positive integer for m: 9 Type a positive integer for n: 5 The first 5 positive integers multiples of 9 are: 9 18 27 36 45 到目

我试图编写一个程序,读取2个正整数(m和n),然后仅使用while循环打印m的n个第一个正整数

这是原来的问题

用Python3.x语言编写一个程序,读取两个正整数m和n,并打印第一个正整数n m的倍数

代码的输出应该如下所示:

Type a positive integer for m: 9 
Type a positive integer for n: 5 
The first 5 positive integers multiples of 9 are:
9
18
27
36
45
到目前为止,我已经做到了:

m = int(input("Type a integer for m: "))
n = int(input("Type a integer for n: "))
i = 1
print()
print("The first ",n,"positive integers multiples of ", m," are:")
while i <= n:
    m = m * i
    print(m)
    i = i + 1
m=int(输入(“为m键入一个整数:”)
n=int(输入(“输入一个整数表示n:”)
i=1
打印()
print(“第一个”,n,“m”的正整数倍数为:)

而我你的问题就在这一行

m = m * i
您正在缓存一个中间值,然后在下一次迭代中将其相乘,因此第一次相乘的是
m
,但在下一次迭代中,您将相乘的是上一个中间值,而不是原始的
m

您可以通过以下方式更改循环:

while i <= n:
    print(m * i)  #  you don't need to save the intermediate result, you can just print it
    i = i + 1

而我你的问题就在这一行

m = m * i
您正在缓存一个中间值,然后在下一次迭代中将其相乘,因此第一次相乘的是
m
,但在下一次迭代中,您将相乘的是上一个中间值,而不是原始的
m

您可以通过以下方式更改循环:

while i <= n:
    print(m * i)  #  you don't need to save the intermediate result, you can just print it
    i = i + 1

虽然我Nullman的asnwer是正确的,但无论如何,这里是您的代码更正,以防它可以帮助您更好地理解错误:

m = 9
n = 5
i = 1
print()
print("The first ",n,"positive integers multiples of ", m," are:")
while i <= n:
    multiple = m * i
    print(multiple)
    i = i + 1

Nullman的asnwer是正确的,无论如何,这里是您的代码更正,以防它可以帮助您更好地理解错误:

m = 9
n = 5
i = 1
print()
print("The first ",n,"positive integers multiples of ", m," are:")
while i <= n:
    multiple = m * i
    print(multiple)
    i = i + 1

在这种情况下,问题是什么是显而易见的,但是将来请描述代码的问题是什么。它会引发异常吗?它是否产生不正确的输出?没有人想猜测或者必须运行代码才能发现。另请参见。跟进Aran Fey的评论。你会得到什么输出?你可能还想考虑如果我输入“-15”,如果输入“<代码”>“十五”和“DeXYNE2”,会发生什么?在这种情况下,这个问题是相当明显的,但是在将来,请描述代码的问题所在。它会引发异常吗?它是否产生不正确的输出?没有人想猜测或者必须运行代码才能发现。另请参见。跟进Aran Fey的评论。你会得到什么输出?你可能还想考虑如果我输入“-15”,如果输入“<代码> >十五”/代码>和<代码>“二十”(代码)>,请参阅谢谢。我想我理解这个问题。我不能丢失a的值,因为它很重要,所以我定义了一个名为multiple的新变量,让m值保持不变。谢谢dzang。我想我理解这个问题。我不能丢失a的值,因为它很重要,所以我定义了一个名为multiple的新变量,让m值保持不变。