小白Python练习册(14)【鱼币福利】
现在是11:30我都已经躺下了但想起来今天没出题{:10_266:}
赶紧又起来了
(冰河星云最近有事,不出意外的话最近都是我出题){:10_250:}
我太难了{:10_285:}
开始出题吧:
输出乘法口诀表
(你不会以为就这么简单吧?不可能!)
今天我们不仅要输出正常的乘法口诀表,我们还要输出反向的,上效果:
==========我会帮您输出乘法口诀表==========
您要正向还是反向(正/反):反
9 * 9 = 81 9 * 8 = 72 9 * 7 = 63 9 * 6 = 54 9 * 5 = 45 9 * 4 = 36 9 * 3 = 27 9 * 2 = 18 9 * 1 = 9
8 * 8 = 64 8 * 7 = 56 8 * 6 = 48 8 * 5 = 40 8 * 4 = 32 8 * 3 = 24 8 * 2 = 16 8 * 1 = 8
7 * 7 = 49 7 * 6 = 42 7 * 5 = 35 7 * 4 = 28 7 * 3 = 21 7 * 2 = 14 7 * 1 = 7
6 * 6 = 36 6 * 5 = 30 6 * 4 = 24 6 * 3 = 18 6 * 2 = 12 6 * 1 = 6
5 * 5 = 25 5 * 4 = 20 5 * 3 = 15 5 * 2 = 10 5 * 1 = 5
4 * 4 = 16 4 * 3 = 12 4 * 2 = 8 4 * 1 = 4
3 * 3 = 9 3 * 2 = 6 3 * 1 = 3
2 * 2 = 4 2 * 1 = 2
1 * 1 = 1
==========我会帮您输出乘法口诀表==========您要正向还是反向(正/反):fan
您的输入有误!
请重新输入
您要正向还是反向(正/反):正
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
不能直接用print,要使用for循环啊!{:10_256:}
回复查看参考答案啊:
**** Hidden Message *****
如果喜欢,别忘了评分订阅哟(传送门)!{:9_227:}
本帖最后由 txxcat 于 2020-5-5 00:45 编辑
title='==========我会帮您输出乘法口诀表=========='
while True:
a=input(title+'\n您要正向还是反向(正/反):')
if a.lower() in '正反q' and len(a.strip())==1:
break
title='您的输入有误!\n请重新输入!'
if a=='正':
print('\n'.join([' '.join(["%2s *%2s = %2s"%(i,j,i*j) for j in range(1,i+1)]) for i in range(1,10)]))
elif a=='反':
print('\n'.join([' '.join(["%2s *%2s = %2s"%(i,j,i*j) for j in range(i,0,-1)]) for i in range(9,0,-1)])) 本帖最后由 1469396970 于 2020-5-5 08:57 编辑
print('==========我会帮您输出乘法口诀表==========')
s=input('您是要反向还是正向(反/正):')
if s=='正':
for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s'%(i,j,i*j),end=' ')
elif s=='反':
for i in range(9,0,-1):
for j in range(i,0,-1):
print('%s*%s=%s'%(i,j,i*j),end=' ')
else:
print('您的输入有误!') 提供一种思路{:10_327:}
这也用到for循环了{:10_256:}from sys import stdout
stdout.writeline(i for i in '''9 * 9 = 81 9 * 8 = 72 9 * 7 = 63 9 * 6 = 54 9 * 5 = 45 9 * 4 = 36 9 * 3 = 27 9 * 2 = 18 9 * 1 = 9
8 * 8 = 64 8 * 7 = 56 8 * 6 = 48 8 * 5 = 40 8 * 4 = 32 8 * 3 = 24 8 * 2 = 16 8 * 1 = 8
7 * 7 = 49 7 * 6 = 42 7 * 5 = 35 7 * 4 = 28 7 * 3 = 21 7 * 2 = 14 7 * 1 = 7
6 * 6 = 36 6 * 5 = 30 6 * 4 = 24 6 * 3 = 18 6 * 2 = 12 6 * 1 = 6
5 * 5 = 25 5 * 4 = 20 5 * 3 = 15 5 * 2 = 10 5 * 1 = 5
4 * 4 = 16 4 * 3 = 12 4 * 2 = 8 4 * 1 = 4
3 * 3 = 9 3 * 2 = 6 3 * 1 = 3
2 * 2 = 4 2 * 1 = 2
1 * 1 = 1''') 哈哈哈哈 楼上 瞧瞧 康康 学习一下~~ {:10_285:} 本帖最后由 江少 于 2020-5-5 10:25 编辑
while 1:
s = raw_input('我会帮你输入乘法表的,你是想输入正向还是反向的?:')
if s == '正':
for i in range(1,10):
for j in range(1,i+1):
print (str(i) + '*'+ str(j) + '='+ str(i*j))
break
elif s == '反':
for i in range(9,0,-1):
for j in range(i,0,-1):
print(str(i) + '*'+ str(j) + '='+ str(i*j))
break
else:
print('输入错误!请输入正或者反!')
用for循环输出多行文字的大哥真的猛{:10_256:} 看见以上大佬个个这么简洁,写不出了 永恒的蓝色梦想 发表于 2020-5-5 07:20
提供一种思路
这也用到for循环了
纯对顶一下!{:5_109:} def timeTable(Type):
if Type == '正':
for i in range(9):
if i != 0:
print('')
for j in range(int(i + 1)):
print(str(i + 1) + ' ' + '*' +' ' + str(j + 1) + ' ' + '=' + str(int(i + 1) * int(j + 1)), end = ' ')
elif Type == '反':
for i in range(9):
if i != 0:
print('')
for j in range(int(9 - i)):
print(str(9 - i) + ' ' + '*' + ' ' + str(9 - j) + ' ' + '=' + str(int(9 - i) * int(9 - j)), end = ' ')
else:
print('您的输入有误!\n请重新输入')
print('==========我会帮您输出乘法口诀表==========')
Type = ' '
while Type != '正' and Type != '反':
Type = str(input('您要正向还是反向:'))
timeTable(Type)
1111111111111111111 占楼{:10_256:} def mTable(b):
xList = list(range(1, 10))
for x in xList if b else reversed(xList):
yList = list(range(1, x+1))
for y in yList if b else reversed(yList):
print("%d * %d = %d\t" % (x, y, x*y), end="")
print()
mTable(True)
print('==========我会帮您输出乘法口诀表==========')
temp = input('你是要正向的,还是要反向的?\n 1.正向 \n 2.反向\n 3.都要' )
if int(temp)==1:
for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s'%(i,j,i*j),end=" ")
print('')
elif int(temp)==2:
for i in range(1,10)[::-1]:
for j in range(1, i + 1):
print('%s*%s=%s' % (i, j, i * j), end=" ")
print('')
else:
print('正向:')
for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s'%(i,j,i*j),end=" ")
print('')
print('反向:')
for i in range(1,10)[::-1]:
for j in range(1, i + 1):
print('%s*%s=%s' % (i, j, i * j), end=" ")
print('') 本帖最后由 lbxx916 于 2020-5-5 17:14 编辑
print('==========我会帮您输出乘法口诀表==========')
chioes = input('您要正向还是反向(正/反):')
if chioes == '正':
for num1 in range(1,10):
num2 = 1
while (num2 <= num1):
print ('%dx%d=%2d' % (num1,num2,num1*num2),end = '')
num2 += 1
print('\n')
elif chioes == '反':
for num1 in range(9,0,-1):
num2 = num1
while (num2 <= num1) and (num2 >= 1):
print ('%dx%d=%2d' % (num1,num2,num1*num2),end = '')
num2 -= 1
print('\n')
else:
print('输入有误,请输入‘正’或‘反’') 做过{:10_256:}