Ich habe zwei Funktionen und die erste ruft die zweite. Wenn ich jedoch aus der zweiten Funktion ausbricht, zeigt es Text von einer if-Anweisung in der ersten Funktion an. Was ich nicht verstehe, ist warum die zweite Funktion die erste aufruft? Zweitens verstehe ich nicht, warum Code aus einer if-Anweisung ausgeführt würde, wenn die Bedingung nie erfüllt wurde.Warum ruft meine Pause die vorherige Funktion
#! /usr/bin/env python
'''A sorting app where the user gets to choose
between options and the options are ranked by
likes in a file stored on a file'''
import sys
import random
import pickle
def intro():
greeting = '''\nWelcome to chooser where your voice gets to be heard
Press Enter to begin greatness
Press anything else to be immediately banned
>>'''
enter = raw_input(greeting).lower()
if enter == '':
main()
if enter == 'admin':
print 'Entering Admin menu\n'
admin()
else:
print '''\nDid you think I was kidding?!
You're gone!\n'''
sys.exit()
# Enters the main program if the user presses Enter or else it quits
def main():
count = 0
while True:
nav = '''Type Go to play
Type Q to quit
Type admin to go to admin
>>'''
start = raw_input(nav).lower()
if start == 'q':
print '\nThank you for playing\nBye!\n'
break
else:
print 'Any other key restarts the function'
def chooser():
pass
if __name__ == '__main__':
intro()
''' -----Questions-----
Why does this function when it expires run the intro function instead of just
running out of scope????'''
Dies ist, was aus dem Terminal druckt:
Können Sie genauer sein, was passiert? Vielleicht kopieren Sie eine Terminalsitzung, in der Sie dieses Skript ausgeführt haben, und sehen Sie ein unerwartetes Verhalten. – user2357112
@ user2357112 Ich postete ein Bild von dem, wie der Terminalausgang aussah, leider bin ich nicht an meinem Computer, aber ich bearbeite die Frage mit einem richtigen Screenshot in ein wenig – Codezilla
kann hier nicht reproduzieren. Scheint normal zu funktionieren. Getestet mit Python 2 und Python 3 (mit Eingabe anstelle von raw_input und fixed prints); Drücken Sie die Eingabetaste drücken etwas anderes werden sofort verboten >> Typ Q beenden >> q Vielen Dank für das Spielen Bye zu starten! –