大家好,又见面了,我是你们的朋友全栈君。
用python 打印九九乘法表,代码如下:
第1种方式: 使用for-for
# 九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(f'{
j}x{
i}={
i*j}\t', end='')
print()
执行结果如下图:
第2种方式: 使用while-while
# 九九乘法表
i = 1
while i <= 9:
j = 1
while(j <= i): # j的大小是由i来控制的
print(f'{
i}*{
j}={
i*j}', end='\t')
j += 1
print('')
i += 1
执行结果如下图:
第3种方式: 使用while-for
i = 1
while i <= 9:
for j in range(1, i+1): # range()函数左闭右开
print(f'{
i}*{
j}={
i*j}', end=' ')
i += 1
print()
第4种方式: 使用for-while
for i in range(1, 10):
j = 0
while j < i:
j += 1
print(f"{
i}*{
j}={
i*j}", end=' ')
print()
第5种方式: 定义一个变量a
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in a:
j = 1
while j <= i:
print(f'{
i}*{
j}={
i*j}', end='\t')
# %-3d 是控制输出结果占据3位,且从左面开始对齐
j += 1
print()
执行结果如下图:
第6种方式: 使用递归
def multiplication(n):
if n < 10:
for m in range(1, n+1):
print(f"{
m}*{
n}={
m*n}", end="\t")
print()
multiplication(n+1)
multiplication(1)
执行结果如下:
第7种方式: 使用1行语句
print('\n'.join([' '.join(["%2s x%2s = %2s" % (j, i, i*j) for j in range(1, i+1)]) for i in range(1, 10)]))
上面的一行代码优化之后:
print('\n'.join([' '.join([f"{
j}x{
i}={
i*j}" for j in range(1, i + 1)]) for i in range(1, 10)]))
执行结果如下图:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148238.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...