执行以下程序时出错

时间:2018-10-15 13:51:17

标签: python python-3.x

n= int(input())
x = int(input())
for i in range (1,x+1):
   print()
   a = 0
   while(a<=x):
       for j in range((i*n),(i*n)+a):
           print(j,end="")
           a+=1

如果我运行该程序,它将不提供输出,但将接受无限的输入 请告诉我错误,并为您的程序提供以下问题 程序必须接受两个整数值n和x作为输入,并以所需的模式打印输出:

示例输入/输出

输入:

8 5

输出:

8  
16 17  
24 25 26  
32 33 34 35  
40 41 42 43 44  

2 个答案:

答案 0 :(得分:0)

问题之一是,您没有增加a。因此,while(a<=x):是无限的

答案 1 :(得分:0)

您的a初始化为0,因此您的for内循环永远不会执行,因为range((i*n),(i*n)+a)不会产生任何内容,并且a+=1语句也不会执行,从而在无限while循环中。

您可以改用嵌套的for循环:

n = int(input())
x = int(input())
for i in range(1, x + 1):
    for j in range(i):
        print(i * n + j, end=' ')
    print()