0256デフォルトの名無しさん2019/03/02(土) 17:29:29.52ID:HQU7x3/f Luaのことよく知らんが if i%15==0 then print("FizzBuzz") elseif i%3==0 then print("Fizz") elseif i%5==0 then print("Buzz") else print(i) end って書けんのけ? 0257デフォルトの名無しさん2019/03/02(土) 19:09:12.82ID:FBcJNwx6>>256 わざわざ普通のFizzBuzzありがとう。 もちろんそうかけます。 0258デフォルトの名無しさん2019/03/03(日) 02:00:43.47ID:vKWKyL5A>>255 同じ様にpython で書くなら、
for i in range(21): x=i%15 if x==0 : print("FizzBuzz") elif x in (3,6,9,12) : print("Fizz") elif x in (5,10) : print("Buzz") else: print(i) 0259デフォルトの名無しさん2019/03/03(日) 21:24:43.54ID:9zmHOox3 % Prolog
repeat. repeat :- repeat.
?- see('foo.pl'), repeat,( at_end_of_stream(user_input),seen,!,fail; read(X)). X = (:- dynamic(年齢/2)) ; X = 年齢(山田,32) ; X = 年齢(山下,21) ; false.
f 1 = putStrLn "x = 1" f 2 = putStrLn "x = 2" f 3 = putStrLn "x = 3" f x = putStrLn "x = others number"
output:
x = 1 x = 2 x = 3 x = others number 0261デフォルトの名無しさん2019/03/03(日) 23:51:31.92ID:TlyfzziM>>248 Pythonのifはelse ifを続けやすくしてるので、Cのswitch caseより複雑に条件分岐出来る分、強力。 (Haskellではガードに当たる) 0262デフォルトの名無しさん2019/03/04(月) 00:10:08.73ID:TibQyUgX>>260 基本的には単なる辞書変換ではない。 マッチしたら処理(複数の)が実行できなければならない。 0263デフォルトの名無しさん2019/03/04(月) 00:55:03.35ID:CTqL7+CV>>262 よく分からんが、各パターンで複数の事させればいいの? (と言ってもdo形式をモナド形式で書けば1行になるが) かえ main = mapM_ f [1..4]
a = 3 b = 2
f 1 = do let c = a + b print c f 2 = do let c = a - b print c f 3 = do let c = a * b print c f x = return (a `div` b) >>= print 0264デフォルトの名無しさん2019/03/04(月) 01:11:16.72ID:rLTN1z0Z 短くしてみた >>260
main = mapM_ putStrLn $ map f [1..4] where f = ¥x -> if x<=3 then "x = " ++ show x else "x = other number" 0265デフォルトの名無しさん2019/03/04(月) 01:27:26.35ID:rLTN1z0Z>>262 ―Haskell main = mapM_ putStrLn $ map f ['b','a','s','i','c'] f x = case x of 'a' -> "aの場合" 'b' -> "bの場合" otherwise -> "それ以外" 0266デフォルトの名無しさん2019/03/04(月) 01:39:28.31ID:CTqL7+CV HaskellのFizzBizz
main = mapM_ (putStrLn.fizbiz) [1..20]
fizbiz x | x `mod` 15 == 0 = "FizzBizz" fizbiz x | x `mod` 3 == 0 = "Fizz" fizbiz x | x `mod` 5 == 0 = "Bizz" fizbiz x = show x 0267デフォルトの名無しさん2019/03/04(月) 02:09:33.72ID:CTqL7+CV>>264 行数が少ないだけで、意図が分かりにくい。 mapが無駄。
import numpy as np n = np.array([-1,0,1,2]) n += 1 print(n) # [0 1 2 3] 0284デフォルトの名無しさん2019/05/01(水) 07:03:02.59ID:D4jmMExL 輪廻転生 0285デフォルトの名無しさん2019/05/01(水) 15:41:33.68ID:zxNIeS7i FOR I=I TO I NEXT 0286デフォルトの名無しさん2019/05/08(水) 18:38:06.96ID:qUpXgvbZ r. r :- r. 0287デフォルトの名無しさん2019/05/08(水) 18:41:10.44ID:qUpXgvbZ r. r :- r. 0288デフォルトの名無しさん2019/05/19(日) 10:10:24.78ID:b1S+2jBu>>80 > 0からNまで繰り返すようなことは > while使ってiをカウントしていくしか無い
そんな事はない。python では カウンター付き for ループ を enumerate で作れる
for count , x in enumerate('アイウエオ') : print(count,x)
''' 0 ア 1 イ 2 ウ 3 エ 4 オ ''' 0289デフォルトの名無しさん2019/05/19(日) 11:24:53.27ID:sA5/dcdL for inじゃん。>>80よく読め 0290デフォルトの名無しさん2019/05/19(日) 15:00:07.17ID:Ep+P2jjw>>289 知らんがな、自分がリンクを切ってるから話の流れを断ち切って勝手な話をしてるんだろ。 前後関係が一切わからん。 0291デフォルトの名無しさん2019/05/21(火) 23:16:40.30ID:5dr0Nkwr>>290 ばーか 0292デフォルトの名無しさん2019/06/04(火) 09:38:40.06ID:/ArpXH0n>>291 可愛い坊やだね❤❗ 0293デフォルトの名無しさん2019/06/04(火) 09:40:18.55ID:/ArpXH0n>>289 0からN までのカウントをfor in で出来てるじゃん。 while なんか使わないよ。 0294デフォルトの名無しさん2019/06/04(火) 13:02:22.29ID:XXr8i2SB for inじゃん。>>80よく読め 0295デフォルトの名無しさん2019/06/04(火) 15:35:30.18ID:oF2K+2cj for in だと言ってるじゃん、よく読め、可愛いな。 0296デフォルトの名無しさん2019/06/04(火) 15:56:57.14ID:XXr8i2SB 289 デフォルトの名無しさん sage 2019/05/19(日) 11:24:53.27 ID:sA5/dcdL for inじゃん。>>80よく読め
293 デフォルトの名無しさん 2019/06/04(火) 09:40:18.55 ID:/ArpXH0n >>289 0からN までのカウントをfor in で出来てるじゃん。 while なんか使わないよ。
294 デフォルトの名無しさん sage 2019/06/04(火) 13:02:22.29 ID:XXr8i2SB for inじゃん。>>80よく読め
295 デフォルトの名無しさん 2019/06/04(火) 15:35:30.18 ID:oF2K+2cj for in だと言ってるじゃん、よく読め、可愛いな。