|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
用for循环打印,这个方法哪里错了,为什么打印不出如图的格式
- for i in range(9,0,-1):
- for k in range(0,i):
- print(end=' ')
- for j in range(9, 0,-1):
- print(str(j) + '×' + str(i) + '=' + str(i * j), end='\t')
- print('')
复制代码
- for i in range(9, 0, -1): #先构建乘数,9~0,注意包含9,不包含0,,也就是9-1,逆序
-
- for j in range(9-i): #构建每不同乘数行前的空格,保证对齐
- print(" "*7,end="") #打印口诀前先打印空格,下一步构建的乘法口诀j*i=xx六个字符,然后每每条运算后再加一空格分隔,就是七个字符,,应该每行之间差7个字符所以参数""中间有七个空格" "*7
-
- for k in range(1,i+1):#构建被乘数1~i+1,注意包含1,不包含i+1(10),也就是1-9
- print("{0}×{1}={2:2d}".format(k,i,k*i), end = ' ')#打印乘法口诀其中:2d定义了积的长度为2,如果不到2会有空格补充,这样保证积的长度一致,从而保证每条运算长度一致,对齐的先决条件
- if k==i: #判断乘数和被乘数是否相等
- print("\n")#乘数和被乘数相等,也就是需要一条新的乘数行,乘数发生变化,进行换行
复制代码
在傻眼猫咪的指导下编写了自己能看懂的程序  for i in range(9, 0, -1):
for k in range(9-i):
print(" ", end = ' ')
for j in range(1, i+1):
print(f"{j}×{i}={j*i:2d}", end = ' ')
print()
|
|