鱼C论坛

 找回密码
 立即注册
查看: 11599|回复: 102

[技术交流] Python:每日一题 7

[复制链接]
发表于 2017-3-26 19:50:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 新手·ing 于 2017-3-26 19:52 编辑

题目输出 9*9 乘法口诀表。
程序分析分行与列考虑,共9行9列,i控制行,j控制列。

欢迎小伙伴们,一起答题!
如果你有能力,欢迎加入我们!
已经上车老司机:@ooxx7788  
点我上车

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-3-26 19:51:11 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-26 19:51:45 | 显示全部楼层
  1. #输出 9*9 乘法口诀表
  2. for i in range(1,10):
  3.     for j in range(1,i + 1):
  4.         print('%s * %s = %s' % (i,j,i * j))
复制代码

我的解答,等待大佬们的可怕回答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2017-3-26 20:26:21 | 显示全部楼层
新手·ing 发表于 2017-3-26 19:51
我的解答,等待大佬们的可怕回答

你这个打印不标准啊
99乘法表的标准输出是这样的:
1 x 1 =  1   
1 x 2 =  2    2 x 2 =  4   
1 x 3 =  3    2 x 3 =  6    3 x 3 =  9   
1 x 4 =  4    2 x 4 =  8    3 x 4 = 12    4 x 4 = 16   
1 x 5 =  5    2 x 5 = 10    3 x 5 = 15    4 x 5 = 20    5 x 5 = 25   
1 x 6 =  6    2 x 6 = 12    3 x 6 = 18    4 x 6 = 24    5 x 6 = 30    6 x 6 = 36   
1 x 7 =  7    2 x 7 = 14    3 x 7 = 21    4 x 7 = 28    5 x 7 = 35    6 x 7 = 42    7 x 7 = 49   
1 x 8 =  8    2 x 8 = 16    3 x 8 = 24    4 x 8 = 32    5 x 8 = 40    6 x 8 = 48    7 x 8 = 56    8 x 8 = 64   
1 x 9 =  9    2 x 9 = 18    3 x 9 = 27    4 x 9 = 36    5 x 9 = 45    6 x 9 = 54    7 x 9 = 63    8 x 9 = 72    9 x 9 = 81   
***Repl Closed***
  1. total = ''
  2. for i in range(1, 10):
  3.     for j in range(1, i + 1):
  4.         total += '%d x %d = %2d    ' % (j, i, i * j) if i != j else '%d x %d = %2d    \n' % (j, i, i * j)
  5. print total
复制代码


如果全部用空格分隔的话,一行代码:
print '    '.join(['%d x %d = %2d' % (j, i, i * j) for i in range(1, 10) for j in range(1, i + 1)])

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
新手·ing + 1 + 1 哈哈

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2017-3-26 20:31:33 | 显示全部楼层
本帖最后由 ooxx7788 于 2017-3-26 20:37 编辑
新手·ing 发表于 2017-3-26 19:51
我的解答,等待大佬们的可怕回答


你赖皮哦,人家要求的是9行9列,你弄个一顺。

  1. for j in range(1, 10):
  2.     for i in range(1, 10):
  3.         print('%d * %d = %2d' % (i, j, i*j), end='   ')
  4.     print()
复制代码


没有j大佬那么花哨。
  1. 1*1= 1   2*1= 2   3*1= 3   4*1= 4   5*1= 5   6*1= 6   7*1= 7   8*1= 8   9*1= 9   
  2. 1*2= 2   2*2= 4   3*2= 6   4*2= 8   5*2=10   6*2=12   7*2=14   8*2=16   9*2=18   
  3. 1*3= 3   2*3= 6   3*3= 9   4*3=12   5*3=15   6*3=18   7*3=21   8*3=24   9*3=27   
  4. 1*4= 4   2*4= 8   3*4=12   4*4=16   5*4=20   6*4=24   7*4=28   8*4=32   9*4=36   
  5. 1*5= 5   2*5=10   3*5=15   4*5=20   5*5=25   6*5=30   7*5=35   8*5=40   9*5=45   
  6. 1*6= 6   2*6=12   3*6=18   4*6=24   5*6=30   6*6=36   7*6=42   8*6=48   9*6=54   
  7. 1*7= 7   2*7=14   3*7=21   4*7=28   5*7=35   6*7=42   7*7=49   8*7=56   9*7=63   
  8. 1*8= 8   2*8=16   3*8=24   4*8=32   5*8=40   6*8=48   7*8=56   8*8=64   9*8=72   
  9. 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   
复制代码

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
新手·ing + 1 + 1 好尴尬啊,谢谢喽,对!那个大佬

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-26 20:54:21 | 显示全部楼层
jerryxjr1220 发表于 2017-3-26 20:26
你这个打印不标准啊
99乘法表的标准输出是这样的:
1 x 1 =  1   

大佬佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-26 21:31:12 | 显示全部楼层
  1. for j in range(1, 10):
  2.     for i in range(1, 10):
  3.         if i<=j:
  4.             print('%d * %d = %2d' % (i, j, i*j), end='   ')
  5.     print()
复制代码


优雅的我不会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-4-11 14:38:18 | 显示全部楼层
  1. for i in range(1,10):
  2.     for j in range(1,i+1):
  3.         print('%d*%d=%d'%(j,i,j*i),end='\t')
  4.     print('\n')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-17 21:26:27 | 显示全部楼层
m = ''
for i in range(1, 10):
    c = 1
    for j in range(1, i+1):
        if i==j :
            m += '%d x %d = %2d    \n' % (j, i, i * j)
            c = 0
        if c!=0 :
            m += '%d x %d = %2d    ' % (j, i, i * j)
print(m)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-23 20:18:10 | 显示全部楼层
后面加一句就换行了啊
  1. for i in range(1,10):
  2.     for j in range(1,i+1):
  3.         print("%s * %s = %s" % (j,i,i*j), end='  ')
  4.     print() # 换行
复制代码

一行也是可以的,可读性没那么好就是了
  1. # 写成一句可以是这样,推导式包含推导式就可以把换行也带上了
  2. print('\n'.join(['  '.join(["%s * %s = %s" % (j,i,i*j)  for j in range(1,i+1)]) for i in range(1,10)]))
复制代码

效果
  1. 1 * 1 = 1  
  2. 1 * 2 = 2  2 * 2 = 4  
  3. 1 * 3 = 3  2 * 3 = 6  3 * 3 = 9  
  4. 1 * 4 = 4  2 * 4 = 8  3 * 4 = 12  4 * 4 = 16  
  5. 1 * 5 = 5  2 * 5 = 10  3 * 5 = 15  4 * 5 = 20  5 * 5 = 25  
  6. 1 * 6 = 6  2 * 6 = 12  3 * 6 = 18  4 * 6 = 24  5 * 6 = 30  6 * 6 = 36  
  7. 1 * 7 = 7  2 * 7 = 14  3 * 7 = 21  4 * 7 = 28  5 * 7 = 35  6 * 7 = 42  7 * 7 = 49  
  8. 1 * 8 = 8  2 * 8 = 16  3 * 8 = 24  4 * 8 = 32  5 * 8 = 40  6 * 8 = 48  7 * 8 = 56  8 * 8 = 64  
  9. 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  
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2017-5-27 17:43:08 | 显示全部楼层
  1. for i in range(1,10):
  2.     for j in range(1,i+1):
  3.         print('{0}*{1}={2}\t'.format(j,i,i*j),end = '')
  4.     print()
复制代码

与楼上大佬雷同
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-30 21:53:20 | 显示全部楼层
  1. for i in range (9):
  2.     for j in range (i+1):
  3.         temp = (i+1)*(j+1)
  4.         print (j+1,'*',i+1,'=',temp,end=' ')
  5.     print ()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-10 14:58:03 | 显示全部楼层
  1. i = 1
  2. j = 1
  3. while i<10:
  4.     while j<10:
  5.         if j < i:
  6.             print('        ',end = '')
  7.         else:
  8.             if i*j <10:
  9.                 print('%d*%d= %d  '%(i,j,i*j),end = '')
  10.             else :
  11.                 print('%d*%d= %d '%(i,j,i*j),end = '')
  12.         j +=1   
  13.     i += 1
  14.     print()
  15.     j = 1
复制代码


  1. 1*1= 1  1*2= 2  1*3= 3  1*4= 4  1*5= 5  1*6= 6  1*7= 7  1*8= 8  1*9= 9  
  2.         2*2= 4  2*3= 6  2*4= 8  2*5= 10 2*6= 12 2*7= 14 2*8= 16 2*9= 18
  3.                 3*3= 9  3*4= 12 3*5= 15 3*6= 18 3*7= 21 3*8= 24 3*9= 27
  4.                         4*4= 16 4*5= 20 4*6= 24 4*7= 28 4*8= 32 4*9= 36
  5.                                 5*5= 25 5*6= 30 5*7= 35 5*8= 40 5*9= 45
  6.                                         6*6= 36 6*7= 42 6*8= 48 6*9= 54
  7.                                                 7*7= 49 7*8= 56 7*9= 63
  8.                                                         8*8= 64 8*9= 72
  9.                                                                 9*9= 81
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-6-14 14:46:11 | 显示全部楼层
class Question7:
    def T99(self):
        for i in range(1,10):
            print('\n')
            for j in range(1,i+1):
                print('%s * %s = %s'%(j,i,(i*j)),end ='  ')

Q7 = Question7()
Q7.T99()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-28 11:32:57 | 显示全部楼层
  1. for i in range(1,10):
  2.     for j in range(1,10):
  3.         print('%s*%s=%s'%(i,j,i*j),end = ' ')
  4.     print()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-10 11:31:53 | 显示全部楼层
for x in range(1,10):
    for y in range(1,x+1):
        print('%d * %d = %2d'%(y, x, x*y),end = '  ')
    print()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-13 21:34:31 | 显示全部楼层
  1. for i in range(1,10):
  2.     for j in range(1,i+1):
  3.             print('%dx%d=%d' % (j,i, i*j), end=' ')
  4.     print()
复制代码

            
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-20 20:54:34 | 显示全部楼层
  1. for i in range(1,10):
  2.     for j in range(1,i + 1):
  3.         print('%d × %d = %d' % (i,j,i * j),end = '  ')
  4.     print('\n')
  5.    
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-23 10:29:50 | 显示全部楼层
  1. print("------------输出9*9乘法表------------")

  2. for i in range(1,10):
  3.     for j in range(1,i+1):
  4.         print("%d*%d=%d" %(j,i,i*j), end=" ")

  5.     print("\n")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-7 22:30:36 | 显示全部楼层
  1. for i in range(1, 10):
  2.     for j in range(i):
  3.         print "%dx%d=%2d   " % (j + 1, i, (j + 1) * i),
  4.     print
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 22:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表