[RUBY] Zundokokiyoshi avec python / rubis / Lua

Histoire originale «Honnêtement, c'est incroyable de trouver ça. «C'est un peu plus compliqué que le fizzbuzz, donc je pense que c'est bon pour étudier les langues.

version python

Code final

«J'ai fait une erreur dans les bases, alors on m'a fait remarquer. «Nous avons également bénéficié d'une refactorisation.

** Bouse quatre fois **

def kiyoshi():
    zd=deque(list(),5)
    while ''.join(zd)!='Zunzunzundoko':
        word=choice(['Bouse','Doco'])
        print(word)
        zd.append(word)
    print('Ki yo shi!')

Mauvais code ci-dessous

Comme ça? deque C'est assez simple à utiliser.

from collections import deque
from random import choice
def kiyoshi():
    zd=deque(list(),4)
    while True:
        if "".join(zd)=='Zunzunzundoko':
            print("Ki yo shi!")
            break
        else:
            word=choice(['Bouse','Doco'])
            print(word)
            zd.append(word)

surveillance

%matplotlib inline
import pandas as pd
def kiyoshi2():
    c=0
    zd=deque(list(),4)
    while True:
        if "".join(zd)=='Zunzunzundoko':
            print("Ki yo shi!")
            break
        else:
            word=choice(['Bouse','Doco'])
            print(word)
            zd.append(word)
            c+=1
    return c
rslts=[kiyoshi2() for i in range(10000)]
pd.DataFrame(rslts).hist(bins=30)

kiyoshi.png

L'algorithme d'origine semble utiliser compteur zun.

def kiyoshi_org():
    zun=0
    while True:
        word=choice(['Bouse','Doco'])
        print (word)
        if word == 'Bouse':
            zun+=1
        elif zun>=3:
            print("Ki yo shi!")
            break
        else: zun=0

version rubis

kiyoshi.rb


#! ruby -Ku
require "kconv"

def kiyoshi()
  zd=[]
  while zd.join!="Zunzunzundoko" do
    word=["Bouse","Doco"].sample
    p word
    zd<<word
    zd.slice!(0) if zd.length>=6
  end
  p "Ki yo shi!"
end

def kiyoshi_org()
  zun=0
  while true do
    word = ["Bouse","Doco"].sample
    p word
    if word == "Bouse"
      zun+=1
    elsif zun <= 3
      zun = 0
    else
      p "Ki yo shi!"
      break
    end
  end
end

kiyoshi()
kiyoshi_org()

Je ne suis pas habitué à la syntaxe do end.

Version 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

Que devrais-je faire ensuite ...

Recommended Posts

Zundokokiyoshi avec python / rubis / Lua
Zundokokiyoshi avec python
Scraping avec Node, Ruby et Python
Proxy dynamique avec python, ruby, PHP
Construisez Vim avec MinGW. (+ lua, + python)
FizzBuzz en Python3
Grattage avec Python
Statistiques avec python
Grattage avec Python
Python avec Go
Intégrer avec Python
AES256 avec python
Testé avec Python
python commence par ()
avec syntaxe (Python)
Bingo avec python
Essayez d'appeler Python depuis Ruby avec une économie
Crypter avec Ruby (Rails) et décrypter avec Python
Scraping Web facile avec Python et Ruby
Zundokokiyoshi avec TensorFlow
Excel avec Python
Python débutant Zundokokiyoshi
Micro-ordinateur avec Python
Cast avec python
Comment profiter de la programmation avec Minecraft (Ruby, Python)
J'ai essayé d'utiliser mecab avec python2.7, ruby2.3, php7
Communication série avec Python
Zip, décompressez avec python
Jugement des nombres premiers avec Python
Python avec eclipse + PyDev.
Communication de socket avec Python
Analyse de données avec python 2
Grattage en Python (préparation)
Essayez de gratter avec Python.
Recherche séquentielle avec Python
"Orienté objet" appris avec python
Exécutez Python avec VBA
Résolvez AtCoder 167 avec python
Communication série avec python
[Python] Utiliser JSON avec Python
Apprenez Python avec ChemTHEATER
Exécutez prepDE.py avec python3
Collecter des tweets avec Python
3. 3. Programmation IA avec Python
Apprenez Zundokokiyoshi en utilisant LSTM
Méthode Kernel avec Python
Non bloquant avec Python + uWSGI
Grattage avec Python + PhantomJS
Publier des tweets avec python
Conduisez WebDriver avec python
Utiliser mecab avec Python 3
Ruby, Python et carte
[Python] Redirection avec CGIHTTPServer
Analyse vocale par python
Pensez à yaml avec python
Utiliser Kinesis avec Python
Premiers pas avec Python
Getter Zundko avec python
Gérez Excel avec python
Loi d'Ohm avec Python
Jugement des nombres premiers avec python