Re: [心得] 九九乘法表 不使用迴圈

看板Python作者 (順風相送)時間3年前 (2021/02/27 13:15), 3年前編輯推噓3(307)
留言10則, 1人參與, 3年前最新討論串2/3 (看更多)
朋友給了我一個很 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
用itertools.product算不算作弊用了迴圈?
03/01 08:53, 1F

03/01 08:56, 3年前 , 2F
另外有個思路是把首篇方法一那整個九九乘法表的字串編碼壓
03/01 08:56, 2F

03/01 08:58, 3年前 , 3F
縮(比如用zip),於是要印時call解壓縮程式解開來再把解
03/01 08:58, 3F

03/01 08:58, 3年前 , 4F
開的內容印出來就好,跟request法異曲同工,但不用網路XD
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
C/C++版的搞笑串我只參加過一個2009年的串XD
03/02 16:45, 5F

03/02 16:45, 3年前 , 6F
[問題] c語言程式求助 這一串
03/02 16:45, 6F

03/02 16:46, 3年前 , 7F
雖然是作業文,可是熱心版眾踴躍回答問題,超級溫馨(?)
03/02 16:46, 7F

03/02 16:48, 3年前 , 8F
其實啊,如果用itertools算過關,那我在本版 #1V0jhKqA
03/02 16:48, 8F

03/02 16:48, 3年前 , 9F
用的那招應該也能過關XD
03/02 16:48, 9F

03/02 16:57, 3年前 , 10F
啊,好像不行,裡面有for in太明顯了XD
03/02 16:57, 10F
文章代碼(AID): #1WETLPMB (Python)
文章代碼(AID): #1WETLPMB (Python)