acgods
发表于 2018-8-23 17:43:25
for i in range(1,10):
for j in range(1,i+1):
print(str(j)+"*"+str(i)+"="+str(i*j),end=" ")
print(end="\n")
apple_wt
发表于 2018-9-12 17:09:57
# 9*9乘法表
for i in range(1,10):
n = i+1
for j in range(1,n):
if j == i:
print("%d*%d=%2d" %(j,i,j*i))
else:
print("%d*%d=%2d" %(j,i,j*i),end=" ")
zhangjk19841984
发表于 2018-10-18 17:18:02
for i in range(1,10):
for j in range(1,i+1):
print('{}*{}={}'.format(j,i,r), end='')
print(count)
Roc乘风
发表于 2018-10-21 19:04:11
本帖最后由 Roc乘风 于 2018-10-21 19:58 编辑
for i in range(1,10):
for j in range(1,i+1):
z = i * j
print('{0}*{1} = {2:<3}'.format(j,i,z),end='')
print('',end='\n')
先贴上我的答案,再看看各位鱼油的方法
对应的列表推导式写法
print('\n'.join([''.join(['{0}*{1} = {2:<3}'.format(j,i,j*i) for j in range(1,i+1)]) for i in range(1,10)]))
葑纆
发表于 2018-10-24 15:45:16
#i是行,j是列
for j in range(1,10):
for i in range(1,10):
if i < j:
print(i,'*',j,'=',i*j,end = " ")
elif i == j:
print(i,'*',j,'=',i*j)
liujian973
发表于 2018-11-14 15:43:07
for i in range(1,10):
for j in range(1,i+1):
print("%2d*%2d=%-3d "%(j,i,i*j),end="")
print("\n")
ssxx43
发表于 2018-11-15 11:44:09
ooxx7788 发表于 2017-3-26 20:31
你赖皮哦,人家要求的是9行9列,你弄个一顺。
有点看不懂大佬的答案。
print()
是什么意思?
double-lee
发表于 2018-12-3 21:49:06
for i in range(1,10):
for j in range(1,i+1):
print("%d * %d = %d"%(j,i,i*j),end='\t')
print('\n')
sunrise085
发表于 2018-12-21 11:01:54
这个题目很简单,不过仍然可以有多种方法实现。下面写了三种。供大家交流。
写完之后,看了一下之前各位鱼油所写的程序,思路想法基本都是一样的。
也有人提出一些小问题,例如,如何让口诀表对齐,其实这个对于编程初学者来说可能不太熟悉,学过其他语言编程的都应该知道,各种语言输出的时候都会有各自的对齐方式,在python中,print变量的时候可以通过控制器位宽来使其对齐。
#初始想法,乘法口诀表是由9行9列组成,每次打印一句乘法口诀,行结尾处换行
for i in range(1,10):
for j in range(1,i+1):
print ('%d × %d = %2d'%(j,i,i*j),end='')
print()
#整张表还可以是一个多行字符串,使用两层循环,将每一句乘法口诀加到字符串中,最后一次性打印
mylist=''
for i in range(1,10):
for j in range(1,i+1):
mylist +='%d × %d = %2d'%(j,i,i*j)
mylist +='\n'
print (mylist)
'''
既然是多行字符串的拼接,那就可以用字符串操作函数进行拼接,
选择join()函数完成此操作,每一行的拼接使用换行字符'\n',
同一行的多句乘法口诀的拼接使用开个' '
与之前的题目一样,一行代码完成功能,虽然简洁,但是可读性就差了很多。
'''
print('\n'.join([''.join(["%d × %d = %2d" % (j,i,i*j)for j in range(1,i+1)]) for i in range(1,10)]))
xyhk5558
发表于 2018-12-27 20:34:28
for x in range(1,10):
for i in range(1,x+1):
print("|",end = "")
print('%s * %s = %s' % (i,x,i * x),end= " ")
print("|")
结果:
|1 * 1 = 1 |
|1 * 2 = 2 |2 * 2 = 4 |
|1 * 3 = 3 |2 * 3 = 6 |3 * 3 = 9 |
|1 * 4 = 4 |2 * 4 = 8 |3 * 4 = 12 |4 * 4 = 16 |
|1 * 5 = 5 |2 * 5 = 10 |3 * 5 = 15 |4 * 5 = 20 |5 * 5 = 25 |
|1 * 6 = 6 |2 * 6 = 12 |3 * 6 = 18 |4 * 6 = 24 |5 * 6 = 30 |6 * 6 = 36 |
|1 * 7 = 7 |2 * 7 = 14 |3 * 7 = 21 |4 * 7 = 28 |5 * 7 = 35 |6 * 7 = 42 |7 * 7 = 49 |
|1 * 8 = 8 |2 * 8 = 16 |3 * 8 = 24 |4 * 8 = 32 |5 * 8 = 40 |6 * 8 = 48 |7 * 8 = 56 |8 * 8 = 64 |
|1 * 9 = 9 |2 * 9 = 18 |3 * 9 = 27 |4 * 9 = 36 |5 * 9 = 45 |6 * 9 = 54 |7 * 9 = 63 |8 * 9 = 72 |9 * 9 = 81 |
nnxiaod
发表于 2019-1-1 11:03:48
本帖最后由 nnxiaod 于 2019-1-1 11:16 编辑
python2.7
from __future__ import print_function
def do1():
for i in range(1, 10):
for j in range(1, i + 1):
print("%dx%d=%d" % (j, i, i * j), end=" " if i * j >= 10 else "")
print('')
if __name__ == '__main__':
do1()
白小奕
发表于 2019-1-1 21:17:56
如下所示:
i = 1
while i < 10:
j = 1
while j <= i:
print("%d * %d = %d "%(j,i,i*j),end='')
if i == j:
print('\n')
j += 1
i += 1
北城以北灬
发表于 2019-2-22 13:01:40
for row in range(1, 10):
for col in range(1, row+1):
print(col, "*", row, "=", row*col, end=' ')
print("\n")
lwy520
发表于 2019-3-10 22:41:42
for i in range(9):
for j in range(9):
if j==8:
huanhang="\n"
else:
huanhang=""
print(str(i+1)+" * "+str(j+1)+" = " +str((i+1)*(j+1)),'\t',end=huanhang)
小强森
发表于 2019-4-2 15:12:59
i=j=1
for i in range(1,15):
for j in range(1,15):
if j<=i:
print(i,'*',j,'=',i*j,' ',end='')
j+=1
print('')
搬砖工人
发表于 2019-4-3 09:25:50
sunrise085 发表于 2018-12-21 11:01
这个题目很简单,不过仍然可以有多种方法实现。下面写了三种。供大家交流。
写完之后,看了一下之前各位鱼 ...
大佬,可以用字典的形式,做成中文版乘法口诀表吗? 我研究了一下,做不出来。
yu123py
发表于 2019-4-26 17:19:16
for i in range(1, 10):
for j in range(i, 10):
print('{}x{}={}'. format(i, j, i*j), end=' ')
print()
zjhahaha
发表于 2019-5-5 19:41:30
solomonxian 发表于 2017-4-23 20:18
后面加一句就换行了啊
一行也是可以的,可读性没那么好就是了
看了楼主的答案,有感:
for i in range(1,10):
for j in range(1,i+1):
#if i<=j:
print("{:2d} * {:2d} = {:2d} ".format(j,i,j*i),end=" ")
print()
答案:
1 *1 =1
1 *2 =2 2 *2 =4
1 *3 =3 2 *3 =6 3 *3 =9
1 *4 =4 2 *4 =8 3 *4 = 12 4 *4 = 16
1 *5 =5 2 *5 = 10 3 *5 = 15 4 *5 = 20 5 *5 = 25
1 *6 =6 2 *6 = 12 3 *6 = 18 4 *6 = 24 5 *6 = 30 6 *6 = 36
1 *7 =7 2 *7 = 14 3 *7 = 21 4 *7 = 28 5 *7 = 35 6 *7 = 42 7 *7 = 49
1 *8 =8 2 *8 = 16 3 *8 = 24 4 *8 = 32 5 *8 = 40 6 *8 = 48 7 *8 = 56 8 *8 = 64
1 *9 =9 2 *9 = 18 3 *9 = 27 4 *9 = 36 5 *9 = 45 6 *9 = 54 7 *9 = 63 8 *9 = 72 9 *9 = 81
panheng
发表于 2019-8-8 00:33:40
# 题目:输出 9*9 乘法口诀表。
#解法1:两数1-9循环相乘,剔除掉后数大的后输出
def answer1():
for i in range(1,10):
for j in range(1,10):
if i >= j:
print("%d*%d=%d"%(j,i,i*j),end='\t')
print('\n')
#解法2:前数循环到后数时终止。
def answer2():
for i in range(1,10):
for j in range(1,i+1):
print("{}*{}={}".format(j,i,i*j),end='\t')
print('\n')
if __name__ == '__main__':
answer1()
answer2()
永恒的蓝色梦想
发表于 2019-8-18 16:37:44
ooxx7788 发表于 2017-3-26 20:31
你赖皮哦,人家要求的是9行9列,你弄个一顺。
老哥99乘法表是坡状的……