J'ai commencé à programmer, mais je ne sais pas à quoi cela sert. Je pense qu'il y a étonnamment beaucoup de débutants qui ne peuvent pas se faire une idée de ce qu'ils peuvent faire.
Eh bien, vous savez que python peut faire de l'automatisation, de l'apprentissage automatique et de la reconnaissance d'images, par exemple. Je sais aussi.
Mais quand je commence réellement à étudier, la première chose est "variables", "types de données", "listes" ... Alors c'est quoi? Est-ce délicieux? ?? N'est-ce pas? Je suis stupide.
Maintenant,
L'introduction est devenue plus longue. Je pense que la formation actuelle en matière de programmation a un grand obstacle. À l'exception des personnes intelligentes, les coûts d'apprentissage sont élevés pour des gens comme moi.
C'est pourquoi je pense qu'il est normal de commencer par quelque chose de plus simple.
Faites un "jeu". Cependant, le jeu est extrêmement facile. C'est un jeu simple où vous jouez simplement "Janken" avec votre personnage préféré.
C'est un jeu de ciseaux-papier-pierre qui apparaît souvent dans les livres pour les débutants en programmation. Je vais faire un arrangement à ma manière.
Même s'il ne s'agit que d'un Janken, je pense que le Janken fait avec beaucoup d'amour et de dévouement est intéressant tel quel.
janken.py
import random
# janken head
print("C'est Janken YO!")
print("Première aube! Janken whit! !!")
# define function
def janken():
global myhand
global mynum
global yournum
yournum = random.randint(1,3)
mynum = 0
myhand = input(":")
if myhand == "goo":
mynum = 1
elif myhand == "choki":
mynum = 2
elif myhand == "paa":
mynum = 3
else:
print("Faites-le sérieusement!")
if yournum == 1:
yourhand = "goo"
print(yourhand)
elif yournum == 2:
yourhand = "choki"
print(yourhand)
elif yournum == 3:
yourhand = "paa"
print(yourhand)
i = 1
while i ==1:
result = (yournum - mynum) % 3
if result == 0:
print("Aiko!")
janken()
elif result == 1:
print("J'ai perdu ~")
break
elif result == 2:
print("J'ai gagné!")
break
# execute function
janken()
Nous avons créé un jeu dans lequel vous pouvez jouer avec quelqu'un qui ressemble à Fujiwara. Il y a deux points principaux dans le programme Janken, La première consiste à exprimer ["goo", "choki", "paa"] numériquement comme [1,2,3]. Ensuite, la différence entre votre adversaire et votre propre numéro est décidée en utilisant la formule conjointe de 3. Par exemple, si l'autre partie est "goo" et que vous donnez également "goo", 1-1 = 0 0% 3 = 0, donc Aiko. Si l'adversaire est "goo" et que vous êtes "choki", vous perdez car 1-2 = -1 -1% 3 = 2. Si votre adversaire est "goo" et que vous êtes "paa", vous gagnez car 1-3 = -2 -2% 3 = 1. Etc.
La seconde est de bien exprimer ce cas. Janken est un algorithme qui provoque une boucle uniquement à ce moment. Donc, à ce stade, vous devez écrire un processus pour recommencer (j'appelle à nouveau la fonction, mais il y a peut-être un meilleur moyen).
Au fait, c'est amusant de jouer avec quelqu'un comme Fujiwara, et pour un livre d'étude générale, c'est la fin, mais cette fois j'aimerais m'arranger davantage.
En parlant de Janken, il est environ trois heures d'avance. Donc, je vais prendre 3 de ces programmes à l'avance.
janken.py
import random
# janken head
print("C'est un Janken YO à trois volets!")
print("Première aube! Janken whit! !!")
count = [0,0] # [mypoint,yourpoint]
# define function
def janken():
global myhand
global mynum
global yournum
yournum = random.randint(1,3)
mynum = 0
myhand = input(":")
if myhand == "goo":
mynum = 1
elif myhand == "choki":
mynum = 2
elif myhand == "paa":
mynum = 3
else:
print("Faites-le sérieusement!")
if yournum == 1:
yourhand = "goo"
print(yourhand)
elif yournum == 2:
yourhand = "choki"
print(yourhand)
elif yournum == 3:
yourhand = "paa"
print(yourhand)
global count
i = 1
while i ==1:
result = (yournum - mynum) % 3
if result == 0:
print("Aiko!")
janken()
elif result == 1:
print("J'ai perdu ~")
if count[0] < 2:
print("Je ne perdrai pas la prochaine fois ~")
count[0] += 1
print(str(count[0]) + "Gagner"+ str(count[1]) + "C'est une défaite!")
janken()
elif count[0] == 2:
print("J'ai été tué ~")
break
elif result == 2:
print("J'ai gagné!")
if count[1] < 2:
print("Le perdant écoute ce que dit le gagnant ~")
count[1] += 1
print(str(count[0]) + "Gagner"+ str(count[1]) + "C'est une défaite!")
janken()
elif count[1] == 2:
print("Hourra! J'ai gagné ~")
break
# execute function
janken()
Avec cela, j'ai pu en obtenir trois à l'avance. Le taux de réussite est-il d'environ 50%? Quand je l'essaye, je ne peux pas gagner de façon inattendue. Cette fois, c'est facile à mettre en œuvre car vous créez simplement une variable appelée count et ajoutez 1 point pour chaque victoire ou perte. Jusqu'à ce que nous en ayons trois à l'avance, nous appelons la fonction et la boucle de la même manière qu'auparavant.
Au fait, c'est amusant de jouer avec le secrétaire Fujiwara, et peut-être qu'un jour passera simplement avec le secrétaire Fujiwara. Quelque chose comme ça ... ce n'est pas suffisant.
Je suis d'accord. La véritable identité de l'insatisfaisant est le manque de caractères. Eh bien, le secrétaire Fujiwara est aussi mignon, mais j'en ai assez de passer toute la journée avec le secrétaire Fujiwara (ou plutôt, j'en ai assez du secrétaire Fujiwara). Alors augmentons le nombre de caractères.
janken.py
import random
#Comptez le nombre de victoires
count = [0,0] # [mypoint,yourpoint]
# define class and function
class Shuchiin:
def __init__(self,name,words_list):
self.name = name
self.words_list = words_list
def janken_head(self,words_list):
self.words_list = words_list
print(words_list[0])
print(words_list[1])
def janken(self,words_list):
self.words_list = words_list
global myhand
global mynum
global yournum
yournum = random.randint(1,3)
mynum = 0
myhand = input(":")
if myhand == "goo":
mynum = 1
elif myhand == "choki":
mynum = 2
elif myhand == "paa":
mynum = 3
else:
print(words_list[2])
if yournum == 1:
yourhand = "goo"
print(yourhand)
elif yournum == 2:
yourhand = "choki"
print(yourhand)
elif yournum == 3:
yourhand = "paa"
print(yourhand)
global count
i = 1
while i ==1:
result = (yournum - mynum) % 3
if result == 0:
print(words_list[3])
self.janken(words_list)
elif result == 1:
if count[0] < 2:
print(words_list[4])
print(words_list[5])
count[0] += 1
print(str(count[0]) + "Gagner"+ str(count[1]) + "C'est une défaite")
self.janken(words_list)
elif count[0] == 2:
print(words_list[6])
break
elif result == 2:
if count[1] < 2:
print(words_list[7])
print(words_list[8])
count[1] += 1
print(str(count[0]) + "Gagner"+ str(count[1]) + "C'est une défaite")
self.janken(words_list)
elif count[1] == 2:
print(words_list[9])
break
# define each words_list
Kei_list = ["Est-ce Janken?","Au début, goo, janken, hoi","Si tu ne le prends pas au sérieux, j'arrêterai","Aiko, non?","Euh","La prochaine fois ...","Vous êtes fort. Mais la prochaine fois je ne perdrai pas","Ouf","Le faites-vous toujours?","C'est ma victoire. Vous devriez commencer par pratiquer la méthode de mise à mort d'aujourd'hui"]
Huziwara_list = ["C'est un Janken YO à trois volets!","Première aube! Janken whit! !!","Faites-le sérieusement!","Aiko!","J'ai perdu ~","Je ne perdrai pas la prochaine fois ~","J'ai été tué ~","J'ai gagné!","Le perdant écoute ce que dit le gagnant ~","Hourra! J'ai gagné ~"]
Shinomiya_list = ["Oh, tu veux jouer avec moi? Comme c'est mignon. Est-il acceptable d'en obtenir trois à l'avance?","Au début, goo, janken, hoi","Pourriez-vous le prendre au sérieux","Aiko","Oh, j'ai perdu","Je ne perdrai pas la prochaine fois","Admettons que je perds","Oh, j'ai gagné","Tu devrais penser à ta volonté","Comme c'est mignon"]
# create each instance
Kei = Shuchiin("Kei",Kei_list)
Huziwara = Shuchiin("Huziwara",Huziwara_list)
Shinomiya = Shuchiin("Shinomiya",Shinomiya_list)
# execute function
player = input("Contre qui jouerez-vous?:")
if player == "kei":
Kei.janken_head(Kei_list)
Kei.janken(Kei_list)
elif player == "huziwara":
Huziwara.janken_head(Huziwara_list)
Huziwara.janken(Huziwara_list)
elif player == "shinomiya":
Shinomiya.janken_head(Shinomiya_list)
Shinomiya.janken(Shinomiya_list)
else:
print("Rentrons à la maison aujourd'hui")
En plus du secrétaire Fujiwara, j'ai appelé Kei-chan et Kaguya-sama (il arrive qu'il n'y ait que des femmes). Maintenant, vous avez beaucoup de variété. Les changements sont que le dialogue a été changé pour chaque personnage, et le joueur adverse peut être sélectionné au début.
Hmm, maintenant vous pouvez jouer toute la journée.
Eh bien, j'ai pensé à implémenter un jeu simple, mais j'ai trouvé que la programmation peut exprimer des «procédures», y compris le branchement conditionnel et la répétition.
On peut dire que Janken est la procédure la plus simple qui comprend la ramification conditionnelle de la victoire et de la défaite et la répétition de batailles consécutives.
Et j'ai trouvé que même un Janken nécessite quatre règles, un branchement conditionnel, des fonctions et des classes.
Je pense que c'est le plus fort de continuer à faire de petites choses régulièrement. Je suis également un débutant en programmation, mais j'aimerais suivre le chemin de la programmation étape par étape.
Recommended Posts