준도 코키요시 with python/ruby /Lua
- 솔직히 이것을 생각해내는 것이 대단하다.
- fizzbuzz보다 조금 복잡하기 때문에 언어 공부에 좋은 느낌.
파이썬 버전
최종 코드
준이 4회
def kiyoshi():
zd=deque(list(),5)
while ''.join(zd)!='ズンズンズンズンドコ':
word=choice(['ズン','ドコ'])
print(word)
zd.append(word)
print('キ・ヨ・シ!')
다음 실수 코드
이런 느낌?
deque 사용하면 상당히 간단합니다.
from collections import deque
from random import choice
def kiyoshi():
zd=deque(list(),4)
while True:
if "".join(zd)=='ズンズンズンドコ':
print("キ・ヨ・シ!")
break
else:
word=choice(['ズン','ドコ'])
print(word)
zd.append(word)
모니터링
%matplotlib inline
import pandas as pd
def kiyoshi2():
c=0
zd=deque(list(),4)
while True:
if "".join(zd)=='ズンズンズンドコ':
print("キ・ヨ・シ!")
break
else:
word=choice(['ズン','ドコ'])
print(word)
zd.append(word)
c+=1
return c
rslts=[kiyoshi2() for i in range(10000)]
pd.DataFrame(rslts).hist(bins=30)
원래의 알고리즘은 zun 카운터 를 사용하고 있는 모습.
def kiyoshi_org():
zun=0
while True:
word=choice(['ズン','ドコ'])
print (word)
if word == 'ズン':
zun+=1
elif zun>=3:
print("キ・ヨ・シ!")
break
else: zun=0
루비 버전
여기 쪽이 스마트합니다.
kiyoshi.rb
#! ruby -Ku
require "kconv"
def kiyoshi()
zd=[]
while zd.join!="ズンズンズンズンドコ" do
word=["ズン","ドコ"].sample
p word
zd<<word
zd.slice!(0) if zd.length>=6
end
p "キ・ヨ・シ!"
end
def kiyoshi_org()
zun=0
while true do
word = ["ズン","ドコ"].sample
p word
if word == "ズン"
zun+=1
elsif zun <= 3
zun = 0
else
p "キ・ヨ・シ!"
break
end
end
end
kiyoshi()
kiyoshi_org()
지금은 do end 구문이 익숙하지 않다.
Lua 버전
kiyoshi.lua
function kiyoshi_org()
words={"zun","doko"}
zun=0
while true do
word = words[math.random (#words)]
print (word)
if word == "zun" then zun = zun + 1
elseif zun < 4 then zun =0
else break
end
end
print "ki yo shi!"
end
function kiyoshi()
words={"zun","doko"}
zd={}
while true do
word = words[math.random (#words)]
print (word)
table.insert(zd, word)
str=""
for i,value in ipairs(zd) do
str = str .. value
end
if #zd==5 then
if str == "zunzunzunzundoko" then break
else table.remove(zd,1)
end
end
end
print "ki yo shi!"
end
다음에 무엇을 할까 ...
Reference
이 문제에 관하여(준도 코키요시 with python/ruby /Lua), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/y__sama/items/7c451dfd706f9b36729d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(준도 코키요시 with python/ruby /Lua), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/y__sama/items/7c451dfd706f9b36729d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)