Script neustarten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
Us0R
User
Beiträge: 9
Registriert: Samstag 12. Februar 2005, 21:49
Kontaktdaten:

Script neustarten

Beitragvon Us0R » Sonntag 13. Februar 2005, 12:21

Hallo
ich hab gestern angefangen mit Phyton zu programmieren und ich hab gleich ein Problem :-( also hier der Code:

Code: Alles auswählen

# Taschenrechner von Us0R
# -*- coding: cp1252 -*-
print "Whählen sie aus :"
def wahl():
    print '1. = " + ", 2. = " - ", 3. = " * ", 4. = " : "'
wahl()
d = input()
if(d == 1):
    print "Geben sie die erste Zahl ein"
    a = input()

    print "Geben sie die zweite Zahl ein"
    b = input()

    print "Das ergebnis ist :"
    print a + b
   
if(d == 2):
    print "Geben sie die erste Zahl ein"
    a = input()

    print "Geben sie die zweite Zahl ein"
    b = input()

    print "Das ergebnis ist :"
    print a - b
   
if(d == 3):
    print "Geben sie die erste Zahl ein"
    a = input()

    print "Geben sie die zweite Zahl ein"
    b = input()

    print "Das ergebnis ist :"
    print a * b
   
if(d == 4):
    print "Geben sie die erste Zahl ein"
    a = input()

    print "Geben sie die zweite Zahl ein"
    b = input()

    print "Das ergebnis ist :"
    print a / b

print "Drücken sie Irgendeine zum beenden"
c = input()

also zum Problem kann ich am ende denn Script neu starten wenn der Benutzer das will also ungefehr:
Wollen sie das Program beenden?(Y/N)
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Sonntag 13. Februar 2005, 12:51

Hi Us0R,

du kannst das ganze in eine Schleife packen:

Code: Alles auswählen

# Taschenrechner von Us0R
# -*- coding: cp1252 -*-

def wahl():
    print '1. = " + ", 2. = " - ", 3. = " * ", 4. = " : "'

while True:
    print "Whählen sie aus :"
    wahl()
    d = input()
    if(d == 1):
        print "Geben sie die erste Zahl ein"
        a = input()
        ...

    print "Wollen sie das Program beenden?(Y/N)"
    a = input()
    if a.upper() == "Y":
        break


Gruß

Dookie

Code: Alles auswählen

#!/usr/bin/env python
import this
Benutzeravatar
Us0R
User
Beiträge: 9
Registriert: Samstag 12. Februar 2005, 21:49
Kontaktdaten:

Hmmm...

Beitragvon Us0R » Sonntag 13. Februar 2005, 13:00

Das geht aber nicht der schreibt ein Fehler kA was der bedeutet ^^
*** 'break' outside loop
XT@ngel
User
Beiträge: 256
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

Beitragvon XT@ngel » Sonntag 13. Februar 2005, 13:03

Hi,
Das war auch nur ein Beispiel, den ich glaub kaum das ... gültiger code ist ;)

Code: Alles auswählen

print "Geben sie die erste Zahl ein"
        a = input()
        ...

MfG
Andreas
Benutzeravatar
Us0R
User
Beiträge: 9
Registriert: Samstag 12. Februar 2005, 21:49
Kontaktdaten:

Beitragvon Us0R » Sonntag 13. Februar 2005, 13:08

Code: Alles auswählen

print "Wollen sie das Program beenden?(Y/N)"
    a = input()
    if a.upper() == "Y":
        break

Das meinte ich aber jetzt hab ichs kapiert ich hab das while fergessen
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Sonntag 13. Februar 2005, 18:29

Meine Schnelle, qnd (Quick and Dirty) Lösung:

Code: Alles auswählen

# Taschenrechner von Us0R
# -*- coding: cp1252 -*-

def wahl():
    print '1. = " + ", 2. = " - ", 3. = " * ", 4. = " : "'

while True:
    print "Wählen sie aus :"
    wahl()
    d = int(raw_input())
    print "Geben sie die erste Zahl ein"
    a = int(raw_input())
    print "Geben sie die zweite Zahl ein"
    b = int(raw_input())
    if d == 1:
        print "Das ergebnis ist :"
        print a + b

    print "Wollen sie das Program beenden?(Y/N)"
    a = raw_input()
    if a.upper() == "Y":
        break


Willkommen Us0r im Forum! Netter InuYasha Avatar :)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Beitragvon mawe » Sonntag 13. Februar 2005, 18:38

Hi Leonidas!

Kann man sich das int(raw_input()) nicht sparen, wenn man input() verwendet? Nur so ne Idee :wink:

Gruß, mawe
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Sonntag 13. Februar 2005, 19:41

Hast recht, aber für "Wollen Sie ... verlassen..." sollte man raw_input() nehmen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: DB7WN, NewToPython