Re: [心得] 九九乘法表 不使用循环

楼主: Schottky (顺风相送)   2021-02-27 13:15:02
朋友给了我一个很 Python 的解法,要用 Python 3.8 以上才能执行
from itertools import product, zip_longest
from math import prod
def show99(f):
if f[0][1]==9: return f"{f[0][1]:1d} x {f[0][0]:1d} = {f[1]:2d}\n"
else: return f"{f[0][1]:1d} x {f[0][0]:1d} = {f[1]:2d}, "
e = list(product(range(1,10), repeat=2))
l = list(map(prod, e))
f = zip_longest(e,l)
print(''.join(map(show99,f)))
作者: ddavid (谎言接线生)   2021-03-01 08:53:00
用itertools.product算不算作弊用了循环?另外有个思路是把首篇方法一那整个九九乘法表的字串编码压缩(比如用zip),于是要印时call解压缩程式解开来再把解开的内容印出来就好,跟request法异曲同工,但不用网络XD

Links booklink

Contact Us: admin [ a t ] ucptt.com