代码
num = int(input(“Enter the number of lines: “))
for i in range(10):
for j in range(1,i):
print(num, the end='')
num = num+1
print()
我正在编写一个程序,它应该是这样的。
Enter the number of lines: 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37
38 39 40 41 42 43 44
45 46 47 48 49 50
51 52 53 54 55
56 57 58 59
60 61 62
63 64
65
我没有讲师提供的任何示例,我只是按照网站上的步骤进行操作,但是我的代码输出是这样的:我很困惑我在哪里犯了错误,没有任何线索可以穿{ {1}} 或 for
。请帮帮我,谢谢。
while
答案 0 :(得分:0)
试试这个:
input_data = input('Enter number of lines: ')
num = int(input_data)
# how many items to print in the first line?
items_to_print = num
# what's the starting number?
print_number = 11
for i in range(0, num):
# don't decrease num
# decrease items_to_print
# each line will reduce 1 item to print
for j in range(0, items_to_print):
print(print_number, end = ' ')
print_number += 1
print()
items_to_print -= 1
结果:
Enter number of lines: 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37
38 39 40 41 42 43 44
45 46 47 48 49 50
51 52 53 54 55
56 57 58 59
60 61 62
63 64
65
从小事做起,一路向上。
首先这样做:
input_data = input('Enter number of lines: ')
num = int(input_data)
print(num)
如果您输入 10,则会打印 10。太好了。
第二步,添加第一个for循环,测试是否会打印10行。
input_data = input('Enter number of lines: ')
num = int(input_data)
for i in range(0, num):
print(f'Printing line {i}')
第三,尝试打印一个 10 x 10 的块。因此,您添加另一个名为 items_to_print 的变量。将其设置为 num。如果输入 10 作为输入,则会得到 10 行 10 列。
input_data = input('Enter number of lines: ')
num = int(input_data)
print_number = 0
items_to_print = num
for i in range(0, num):
print(f'Printing line {i}')
for j in range(0, items_to_print):
print(print_number, end = ' ')
第四步是在重新启动 i
循环之前减少打印的零的数量。因此,您减少 items_to_print。
input_data = input('Enter number of lines: ')
num = int(input_data)
print_number = 0
items_to_print = num
for i in range(0, num):
print(f'Printing line {i}')
for j in range(0, items_to_print):
print(print_number, end = ' ')
items_to_print -= 1
既然您的打印效果很好,让我们将 print_number 设置为从 11 开始,每次在 j
循环中发生打印时,增加 print_number。然后您将拥有我在此答案顶部发布的相同代码。
答案 1 :(得分:0)
嗯,你有三个小问题,所以让我们一次解决一个。
第一:默认范围函数从 0 开始,因此当您的 j 从 1 开始时,您将错过循环的一次迭代。这解释了缺少一列和行而不是两行,所以让我们继续。
第二:range 函数是非包含性的,这意味着您是 I 从 0 到 9,然后在内部循环中您从 1 到最大 8。这是您缺少的第二次迭代。
第三:你从 1 循环到一个递增的值,你想要的是相反的,所以你需要一个递减的范围。
这就是您编写的代码的样子。
num = 11
for i in range(10, 0, - 1):
for j in range(i):
print(num, end = " ")
num += 1
print()
祝你好运,编码愉快