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乘法表是坡状的……
页: 1 2 3 [4] 5 6
查看完整版本: Python:每日一题 7