J'ai fait un service commémoratif parce que j'ai fait quelque chose que je n'avais pas.
J'ai essayé de reproduire le programme d'évacuation d'urgence qui apparaît dans le film "La disparition de Haruhi Suzumiya".
Comme dans l'œuvre, les personnages sont sortis un par un dans l'ordre.
La fin du code se termine par "input ()", donc lorsque vous appuyez sur la touche Entrée, l'invite disparaît. Pendant le travail, Kyon est revenu du monde modifié au moment où il a appuyé sur la touche Entrée, les personnes qui étaient censées se trouver dans la salle du club ont disparu et l'invite qui était censée être sur l'écran du PC a disparu.
Comme prévu, je ne pouvais pas écrire un programme pour effacer les gens autour de moi, mais j'ai rendu possible d'effacer l'invite avec la touche Entrée, donc j'ai l'impression d'avoir quitté le monde modifié pour jouer seul.
from time import sleep
#YUKI le caractère donné dans l'argument.Afficher comme N
def yuki_n(*message, speed=0.15):
count = 0 #Variable à affecter après quelle ligne a été sortie
name = "YUKI. N>"
#Traitement à effectuer sur la sortie de la première ligne
msg = message[0]
#Afficher le nom
for s in range(len(name)):
print(name[0:s+1]+"\r",end="")
sleep(speed)
for i in range(len(msg)):
#Pour le dernier caractère d'une ligne, n'ajoutez pas _ à la fin de la phrase
if i == len(msg)-1:
print(name + msg)
sleep(speed)
count += 1
else:
print(name + msg[0:i+1],end="")
print("_"+"\r",end="")
sleep(speed)
#Traitement à effectuer s'il y a une sortie à partir de la deuxième ligne
if len(message) > 1:
for msg in message[1:]:
for i in range(len(msg)):
#Pour le dernier caractère d'une ligne, n'ajoutez pas _ à la fin de la phrase
if i == len(msg)-1:
print(" " + msg)
sleep(speed)
count += 1
else:
print(" " + msg[0:i+1],end="")
print("_"+"\r",end="")
sleep(speed)
#Rompre la ligne après l'impression de la dernière ligne
if count == len(message):
print("")
#Afficher "Prêt?"
def ready(speed=0.5):
ready = "Ready?"
#「_Clignote
for _ in range(2):
print(" " + "_"+"\r",end="")
sleep(speed)
print(" " + " "+"\r",end="")
sleep(speed)
print(" " + "_"+"\r",end="")
sleep(speed)
for s in range(len(ready)):
print(" " + ready[0:s] + "_" + "\r",end="")
sleep(0.15)
print(" " + ready,end="")
#Lors de la rupture d'une ligne, yuki comme plusieurs arguments_Passer à la fonction n
yuki_n("Lorsque vous lisez ceci","Je ne serai pas moi.")
yuki_n("Si ce message s'affiche,","Là vous, moi, Haruhi Suzumiya, Mikuru Asahina,","Kazuki Koizumi devrait exister.")
yuki_n("Voilà la clé.","Vous avez trouvé la réponse.")
yuki_n("Il s'agit d'un programme d'évacuation d'urgence."," ","Pour le démarrer, appuyez sur la touche Entrée,","Sinon, sélectionnez une autre clé."," ","Si vous le démarrez"\
,"Vous avez la possibilité de corriger l'espace et le temps.","Cependant, le succès ne peut être garanti.","De plus, nous ne pouvons garantir le retour.")
yuki_n("Ce programme ne démarre qu'une seule fois.","Après exécution, il sera effacé."," ","Si la non-exécution est sélectionnée, elle sera supprimée sans démarrer."," ")
ready()
input()
C'est un programme simple qui utilise simplement le retour chariot. Pour savoir comment utiliser le retour chariot, reportez-vous à "Comment afficher la sortie du terminal de la fonction d'impression en Python en écrasant une ligne". devenu.
Puisque la sortie des caractères est une fonction appelée "yuki_n", selon les caractères passés à l'argument Vous pouvez également faire quelque chose comme ça. Ce n'est pas "Prêt?" C'est effrayant.
Recommended Posts