Re: [心得] 九九乘法表 不使用迴圈
朋友給了我一個很 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)))
--
桃樂絲: 可是, 如果你沒有頭腦, 為什麼會說話?
稻草人: ㄝ, 我也不知... 但是有些人沒有頭腦也能說超~多話呢。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.165.64.143 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1614402905.A.58B.html
推
03/01 08:53,
3年前
, 1F
03/01 08:53, 1F
推
03/01 08:56,
3年前
, 2F
03/01 08:56, 2F
→
03/01 08:58,
3年前
, 3F
03/01 08:58, 3F
→
03/01 08:58,
3年前
, 4F
03/01 08:58, 4F
有道是作弊沒被抓到就不算作弊 (出自 JOJO 第三部)
雖說這題目原本是考試題目,但我想出題的人根本沒想到有這麼多解法
我也不知道真的在考卷上這樣寫會出什麼事,反正我們自己玩得開心就好
iterator 系的解法有在別板看過 (用 C++ 寫的)
不管算不算作弊,畢竟是除了 for/while loop 以外的寫法,也頗有參考價值
不過我書還沒唸到那邊 (小聲)
zip 法第一次聽說,大開眼界 XD
原來還能這樣操作,感覺開啟了一個全新的領域
(對,這原本是 C_and_CPP 板的搞笑系列文)
※ 編輯: Schottky (111.250.54.51 臺灣), 03/01/2021 17:07:58
推
03/02 16:45,
3年前
, 5F
03/02 16:45, 5F
→
03/02 16:45,
3年前
, 6F
03/02 16:45, 6F
→
03/02 16:46,
3年前
, 7F
03/02 16:46, 7F
→
03/02 16:48,
3年前
, 8F
03/02 16:48, 8F
→
03/02 16:48,
3年前
, 9F
03/02 16:48, 9F
→
03/02 16:57,
3年前
, 10F
03/02 16:57, 10F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
心得
3
4