gpt4 book ai didi

python - 如何在 Python 中创建水平九九乘法表?

转载 作者:太空宇宙 更新时间:2023-11-03 15:38:21 24 4
gpt4 key购买 nike

到目前为止,我已尝试创建一个包含 2 的前 6 倍数的表,该表应给出:

2  4  6  8  10  12

我的代码目前如下所示:

i = 1
while i <= 6:
print(2*i ,' \t' , )
i = i + 1

但是这个输出它们垂直,而不是水平,所以:

2   
4
6
8
10
12

每个数字后面还有一个选项卡

最佳答案

您可以使用简单的 for 循环,因为对于此应用程序来说,它们比 while 循环更具 Python 风格。

所以只需循环16之间的数字并打印数字 乘以2,并用空格代替换行符。最后,您可以在末尾再调用一次print,以在全部打印完成后移至下一行。

for i in range(1, 7):
print(i * 2, end=' ')

print()

哪个输出:

2 4 6 8 10 12
<小时/>

如果您想在一行中完成整个事情,您可以使用生成器string.join()。您可能不完全理解这一点,但以下会产生相同的结果:

print(" ".join(str(i*2) for i in range(1, 7)))

给出:

2 4 6 8 10 12
<小时/>

请注意,最后一件事是此方法不会生成均匀间隔的表格。为了说明“均匀间隔”的含义,这里有一些示例:

间距不均匀:

1234  1 123 12 12312 123

均匀间隔:

1234  1     123   12    12312 123

为了使输出像上面一样很好地print,我们可以使用.ljust:

print("".join(str(i*2).ljust(3) for i in range(1, 7)))

这提供了一个更好的表格:

2  4  6  8  10 12 
<小时/>

最后,如果您想将其变成一个更通用的函数,您可以这样做:

def tbl(num, amnt):
print("".join(str(i*num).rjust(len(str(num*amnt))+1) for i in range(1,amnt+1)))

以及此函数的一些示例:

>>> tbl(3, 10)
3 6 9 12 15 18 21 24 27 30
>>> tbl(9, 5)
9 18 27 36 45
>>> tbl(10, 10)
10 20 30 40 50 60 70 80 90 100

关于python - 如何在 Python 中创建水平九九乘法表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42354562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com