Ich habe mit dem Programmieren begonnen, weiß aber nicht, wofür dies nützlich ist. Ich denke, es gibt überraschend viele Anfänger, die keine Vorstellung davon bekommen, was sie können.
Sie wissen beispielsweise, dass Python Automatisierung, maschinelles Lernen und Bilderkennung ausführen kann. Ich weis es auch.
Aber wenn ich anfange zu studieren, sind das erste "Variablen", "Datentypen", "Listen" ... Also, was ist es? Schmeckt es? ?? Ist es nicht? Ich bin dumm.
Jetzt,
Die Einführung ist länger geworden. Ich denke, die aktuelle Programmierausbildung hat eine hohe Hürde. Mit Ausnahme von klugen Leuten sind die Lernkosten für Leute wie mich hoch.
Deshalb denke ich, dass es in Ordnung ist, mit etwas Einfacherem zu beginnen.
Mach ein "Spiel". Das Spiel ist jedoch tödlich einfach. Es ist ein einfaches Spiel, in dem Sie einfach "Janken" mit Ihrem Lieblingscharakter spielen.
Es ist ein Stein-Papier-Scheren-Spiel, das häufig in Büchern für Anfänger in der Programmierung erscheint. Ich werde dies auf meine eigene Weise arrangieren.
Auch wenn es nur ein Janken ist, finde ich den Janken, der mit viel Liebe und Engagement hergestellt wurde, so interessant wie er ist.
janken.py
import random
# janken head
print("Es ist Janken YO!")
print("Erste Morgendämmerung! 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("Bitte mach es ernst!")
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("Ich habe ~ verloren")
break
elif result == 2:
print("Ich habe gewonnen!")
break
# execute function
janken()
Wir haben ein Spiel entwickelt, in dem Sie mit jemandem spielen können, der wie Fujiwara aussieht. Es gibt zwei Hauptpunkte im Janken-Programm: Eine besteht darin, ["goo", "choki", "paa"] numerisch als [1,2,3] auszudrücken. Dann wird der Unterschied zwischen Ihrem Gegner und Ihrer eigenen Zahl unter Verwendung der gemeinsamen Formel von 3 bestimmt. Wenn zum Beispiel die andere Partei "goo" ist und Sie auch "goo" geben, 1-1 = 0 0% 3 = 0, also Aiko. Wenn der Gegner "goo" ist und Sie "choki" sind, verlieren Sie, weil 1-2 = -1 -1% 3 = 2. Wenn dein Gegner "goo" ist und du "paa" bist, gewinnst du, weil 1-3 = -2 -2% 3 = 1. Und so weiter.
Die zweite besteht darin, diesen Fall gut auszudrücken. Janken ist ein Algorithmus, der nur zu diesem Zeitpunkt eine Schleife verursacht. Zu diesem Zeitpunkt müssen Sie also einen Prozess schreiben, um von vorne zu beginnen (ich rufe die Funktion erneut auf, aber es gibt möglicherweise einen besseren Weg).
Übrigens macht es Spaß, nur mit einer Person wie Fujiwara zu spielen, und dies ist das Ende eines allgemeinen Studienbuchs, aber dieses Mal möchte ich mehr arrangieren.
Apropos Janken, es ist ungefähr drei im Voraus. Also werde ich 3 dieser Programme im Voraus nehmen.
janken.py
import random
# janken head
print("Es ist ein dreizackiger Janken YO!")
print("Erste Morgendämmerung! 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("Bitte mach es ernst!")
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("Ich habe ~ verloren")
if count[0] < 2:
print("Ich werde das nächste Mal nicht verlieren ~")
count[0] += 1
print(str(count[0]) + "Sieg"+ str(count[1]) + "Es ist eine Niederlage!")
janken()
elif count[0] == 2:
print("Ich wurde getötet ~")
break
elif result == 2:
print("Ich habe gewonnen!")
if count[1] < 2:
print("Der Verlierer hört zu, was der Gewinner sagt ~")
count[1] += 1
print(str(count[0]) + "Sieg"+ str(count[1]) + "Es ist eine Niederlage!")
janken()
elif count[1] == 2:
print("Hurra! Ich habe ~ gewonnen")
break
# execute function
janken()
Damit konnte ich drei im Voraus bekommen. Liegt die Gewinnquote bei 50%? Wenn ich es tatsächlich versuche, kann ich nicht unerwartet gewinnen. Dieses Mal ist es einfach zu implementieren, da Sie einfach eine Variable namens count erstellen und 1 Punkt für jeden Gewinn oder Verlust hinzufügen. Bis wir 3 vor uns haben, rufen wir die Funktion und die Schleife auf die gleiche Weise wie zuvor auf.
Übrigens macht es Spaß, nur mit Sekretär Fujiwara zu spielen, und vielleicht spielt eines Tages nur noch mit Sekretär Fujiwara. So etwas ist nicht genug.
Genau. Die wahre Identität des Unbefriedigenden ist das Fehlen von Charakteren. Nun, Sekretär Fujiwara ist auch süß, aber ich bin es leid, den ganzen Tag mit Sekretär Fujiwara zu verbringen (oder besser gesagt, ich habe es satt, Sekretär Fujiwara zu sein). Erhöhen wir also die Anzahl der Zeichen.
janken.py
import random
#Zählen Sie die Anzahl der Siege
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]) + "Sieg"+ str(count[1]) + "Es ist eine Niederlage")
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]) + "Sieg"+ str(count[1]) + "Es ist eine Niederlage")
self.janken(words_list)
elif count[1] == 2:
print(words_list[9])
break
# define each words_list
Kei_list = ["Ist es Janken?","Zuerst goo, janken, hoi","Wenn Sie es nicht ernst nehmen, höre ich auf","Aiko, richtig?","Äh","Nächstes Mal ...","Du bist stark. Aber das nächste Mal werde ich nicht verlieren","Wütend","Machst du es immer noch","Es ist mein Gewinn. Sie sollten zunächst die heutige Tötungsmethode üben"]
Huziwara_list = ["Es ist ein dreizackiger Janken YO!","Erste Morgendämmerung! Janken Whit! !!","Bitte mach es ernst!","Aiko!","Ich habe ~ verloren","Ich werde das nächste Mal nicht verlieren ~","Ich wurde getötet ~","Ich habe gewonnen!","Der Verlierer hört zu, was der Gewinner sagt ~","Hurra! Ich habe ~ gewonnen"]
Shinomiya_list = ["Oh, willst du mit mir spielen? Wie süß. Ist es in Ordnung, drei im Voraus zu bekommen?","Zuerst goo, janken, hoi","Könnten Sie es ernst nehmen?","Aiko","Oh, ich habe verloren","Ich werde das nächste Mal nicht verlieren","Lassen Sie uns zugeben, ich verliere","Oh, ich habe gewonnen","Sie sollten über Ihren Willen nachdenken","Wie süß"]
# create each instance
Kei = Shuchiin("Kei",Kei_list)
Huziwara = Shuchiin("Huziwara",Huziwara_list)
Shinomiya = Shuchiin("Shinomiya",Shinomiya_list)
# execute function
player = input("Gegen wen wirst du spielen?:")
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("Lass uns heute nach Hause gehen")
Zusätzlich zu Sekretär Fujiwara habe ich Kei-chan und Kaguya-sama angerufen (es kommt vor, dass es nur Frauen gibt). Jetzt haben Sie viel Abwechslung. Die Änderungen bestehen darin, dass der Dialog für jeden Charakter geändert wurde und der gegnerische Spieler zu Beginn ausgewählt werden kann.
Hmm, jetzt kannst du den ganzen Tag spielen.
Nun, ich habe über die Implementierung eines einfachen Spiels nachgedacht, aber ich habe festgestellt, dass die Programmierung "Prozeduren" ausdrücken kann, einschließlich bedingter Verzweigung und Wiederholung.
Man kann sagen, dass Janken das einfachste Verfahren ist, das die bedingte Verzweigung von Sieg und Niederlage und die Wiederholung aufeinanderfolgender Schlachten umfasst.
Dann stellte ich fest, dass sogar ein Janken vier Regeln erfordert, bedingte Verzweigung, Funktionen und Klassen.
Ich denke, dass es am stärksten ist, kleine Dinge stetig zu tun. Ich bin auch ein Anfänger in der Programmierung, aber ich möchte den Programmierpfad Schritt für Schritt gehen.
Recommended Posts