【问题标题】:Some error while executing the below program执行以下程序时出现一些错误
【发布时间】:2018-10-15 22:21:23
【问题描述】:
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  

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    您的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()
    

    【讨论】:

      【解决方案2】:

      其中一个问题是,你没有加一个。因此,while(a&lt;=x): 是无限的

      【讨论】:

      • 对不起,我忘了在我的问题中提到 a+=1
      • 另一个问题是,由于你的最小值和最大值在 range(min_value, max_value) 是相同的,我的意思是 (in) 和 (in)+当是a时a是一样的,它不经过这个for。
      猜你喜欢
      • 2019-03-31
      • 1970-01-01
      • 2018-11-13
      • 1970-01-01
      • 2019-08-22
      • 2021-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多