如何使用嵌套的for循环打印以下模式?因此,您不必为此编写10个for循环。
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 54 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
答案 0 :(得分:2)
只需增加步长即可!
for stepSize in range(10):
for count in range(10):
print((count + 1) * (stepSize + 1), end=" ")
# count loop has ended, back into the scope of stepSize loop
# We are also printing(" ") to end the line
print(" ")
# stepSize loop has finished, code is done
说明:
首先,外部循环会增加步长,然后对于每个步长,我们会累加10步,并在外部for循环中print(" ")
时结束这一行。
答案 1 :(得分:0)
这就是我要做的:
for x in range (1,11):
product = []
for y in range (1, 11):
current_product = x * y
product.append(current_product)
print(*product, sep=' ')
答案 2 :(得分:0)
这将是最难以解释的答案之一,但是我很乐于尝试编写单行代码:
num_rows = 10
print '\n\n'.join(' '.join(str(i) for i in range(j,(num_rows+1)*j)[::j]) for j in range(1,num_rows+1))
输出:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
剖析它,range(j,(num_rows+1)*j)[::j]
为其中j
遍历行号的每一行生成整数(以您要求的索引开头1)。 [::j]
部分为您提供列表的第j
个元素。然后,内部join语句从整数列表构造行字符串,每个整数之间用空格' '
隔开。外部联接通过将整数行与\n\n
组合在一起来构造最终输出,using Microsoft.AspNetCore.Identity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace TimePlus.Data
{
public class ApplicationUser : IdentityUser
{
public string Fullname { get; set; }
public int? CompanyID { get; set; }
public int? EmployeeID { get; set; }
}
}
是一个新的双行,用于在每行整数之间放置一个空白行。
我认为其他解决方案更具可读性,但这是一种乐趣。