Avatar billede zero-hero Nybegynder
23. juli 2002 - 16:35 Der er 9 kommentarer og
1 løsning

python: kan det her ikke gøre bedre og lettere ??

jeg er lige begyndt på det her, så jeg tænkte på om det her ikke kunne gøre bedre så man feks kan skrive flere tal... ??

# Hmm laver en menu
print "Select an item"
print "1  Plus"
print "2  Minus"
print "3  Dividere"
print "4  Gange"

# Brugers valg
choose = input("> ")

# Plus
if choose == 1:
    tal1 = input("Hvad er det fQrste tal: ")
    tal2 = input("Hvad er det andet tal: ")
    resultat = tal1+tal2
    print "Resultatet er", resultat

# Minus
elif choose == 2:
    tal1 = input("Hvad er det fQrste tal: ")
    tal2 = input("Hvad er det andet tal: ")
    resultat = tal1-tal2
    print "Resultatet er", resultat

# Dividere
elif choose == 3:
    tal1 = input("Hvad er det fQrste tal: ")
    tal2 = input("Hvad er det andet tal: ")
    resultat = tal1/tal2
    print "Resultatet er", resultat

# Gange
elif choose == 4:
    tal1 = input("Hvad er det fQrste tal: ")
    tal2 = input("Hvad er det andet tal: ")
    resultat = tal1*tal2
    print "Resultatet er", resultat


Ville gerne ha nogen hints.. ;>

Hygge
Zero-Hero aka Stefan Toft
Avatar billede jakoba Nybegynder
23. juli 2002 - 16:49 #1
det ligner en slags basic så jeg prøver, men forvent ikke 100% korrekt syntaks:

# Hmm laver en menu
print "Select an item"
print "1  Plus"
print "2  Minus"
print "3  Dividere"
print "4  Gange"

# Brugers valg
choose = input("> ")

# Der skal jo ALTID indtastes de 2 tal
    tal1 = input("Hvad er det fQrste tal: ")
    tal2 = input("Hvad er det andet tal: ")

# Plus
if choose == 1:
    resultat = tal1+tal2

# Minus
elif choose == 2:
    resultat = tal1-tal2

# Dividere
elif choose == 3:
    resultat = tal1/tal2

# Gange
elif choose == 4:
    resultat = tal1*tal2
endif

# og resultatet skal ALTID udskrives
print "Resultatet er", resultat

mvh JakobA
Avatar billede zero-hero Nybegynder
23. juli 2002 - 16:57 #2
takker ;> noget lignene det jeg ville ha! ;>
men tænkte på kan jeg ligge +-*/ i en kommando så man kan vælge det.. og ja det er helt basis det jeg har lavet.. altså kommandoer jeg bare har kastet lidt sammen. :>
Du har tjent din point, men du må self gerne svar på det her hvis du gider. hiih
Men takker og hygge for nu!
Avatar billede jakoba Nybegynder
23. juli 2002 - 17:17 #3
Uha, så skal man kende lige den version af basic du bruger.
Prøv at kikke i manualens index umder 'swith' og 'case' det er som regel det den sætning hedder når den er der.
fx:
switch choose {
  case '1': resultat = tal1+tal2
            break;              # skal der måske stå imellem cases.
  case '2': resultat = tal1+tal2
  case '3': resultat = tal1+tal2
  case '4': resultat = tal1+tal2
}
Avatar billede zero-hero Nybegynder
23. juli 2002 - 17:35 #4
tror du har misforstået mig.. (nok min fejl) det er python ikke vb jeg mente bare det var noget helt basis(nybegynder) jeg var igang med...
sry hvis jeg fik dig sat på arbejde for ingen skyld :(
Avatar billede jakoba Nybegynder
23. juli 2002 - 18:06 #5
det gør ikke noget, det var gæt, men nu du soger phyton, så se:
http://mail.python.org/pipermail/patches/2001-November/006523.html
det kunne tyde på at der ikke er nogen standard switch sætning.
Avatar billede zero-hero Nybegynder
24. juli 2002 - 01:38 #6
takker.. jeg kigger ;>

Zero-Hero over and out
Avatar billede jakoba Nybegynder
24. juli 2002 - 14:02 #7
here you are.  funktionen eval udfører en streng og returnerer resultatet

operatorer = ( "%", "+", "-", "*", "/" )  # dine operatorer

def beregn( opr, op1, op2 ) :        # udfør beregning og returner resultat
    if opr < 0 or opr >= len(operatorer) :
        print "FEJL: ikke en gyldig operator kode."
        return len(operatorer)
    return eval( str(op1) +operatorer[opr] +str(op2) +"\n" )

mvh JakobA
Avatar billede zero-hero Nybegynder
24. juli 2002 - 22:22 #8
Kanont!! Lige det jeg søgte..
Takker for den gode hjælp.. nu gav du faktisk 2 svar.. skal jeg oprette et spørgsmål med flere point til dig for nummer 2 her ??
Ved ikke helt hvad rutinien er med hensyn til det.. men gider bare ikke være som de klamme unger der bare lukker deres spam selvom rigtigt svar! ;>

Men takker og hygge

Zero-Hero aka Stefan Toft
Avatar billede jakoba Nybegynder
24. juli 2002 - 22:28 #9
Nej da, jeg har nok af dem :)
Avatar billede zero-hero Nybegynder
24. juli 2002 - 23:49 #10
Hihi.. fair nok! ;>
Men takker for hurtig hjælp!

Ses
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester