|
发表于 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)]))
复制代码 |
|