Avatar billede jasperDK Nybegynder
23. marts 2004 - 09:02 Der er 11 kommentarer og
1 løsning

Python lommeregner

Er gået igang med lidt python, men kan ikke få det til at virke:

print "+ = plus"
print "- = minus"
print "/ = divide"
print "* = multiply"
regningsart = raw_input("Which rainfall are you going to ouse: ")
print ""
print ""
if regningsart == "+":
    plus = raw_input("Type the first character: ")
    print ""
    pluss = raw_input("Type the second character: ")
        print ""
        print ""
        print "The result is ", plus+plus2, ""
Avatar billede jasperDK Nybegynder
23. marts 2004 - 09:03 #1
How, forkert kode:

print "+ = plus"
print "- = minus"
print "/ = divide"
print "* = multiply"
regningsart = raw_input("Which rainfall are you going to ouse: ")
print ""
print ""
if regningsart == "+":
    plus = raw_input("Type the first character: ")
    print ""
    pluss = raw_input("Type the second character: ")
        print ""
        print ""
        print "The result is ", plus+pluss, ""
Avatar billede simonvalter Praktikant
23. marts 2004 - 13:57 #2
print "+ = plus"
print "- = minus"
print "/ = divide"
print "* = multiply"
regningsart = raw_input("Hvilken operator vil du bruge: ")
print ""
print ""
if regningsart == "+":
    while True: # så længe at der ikke bliver tastet et tal, prøv igen
        try:
            number1 = int(raw_input("Type the first character: ")) // cast string input til en int så der kan regnes med den
            break
        except ValueError: // hvis det ikke var en int
            print "du skal taste et tal,prøv igen"
    print ""
    while True:
        try:
            number2 = int(raw_input("Type the first character: "))
            break
        except ValueError:
            print "y is not a number, try again"
    print ""
    print "The result is: "
    print number1 + number2
Avatar billede simonvalter Praktikant
23. marts 2004 - 14:00 #3
hvis fejlen var at hvis du skrev
+
2
2

og fik 22
så er det fordi at python sætter strings sammen med +
derfor skal du cast til int

hvis du ikke kunne compile så er det fordi at

    pluss = raw_input("Type the second character: ")
        print ""
        print ""
        print "The result is ", plus+pluss, ""

skal være

    pluss = raw_input("Type the second character: ")
    print ""
    print ""
    print "The result is ", plus+pluss, ""

da du får indent fejl
Avatar billede jasperDK Nybegynder
23. marts 2004 - 14:39 #4
Dit første svar virker fint!!
Dit svar nummer to virker ikke!
Du har fortjent pointene, så her får du dem!
Tak
Avatar billede simonvalter Praktikant
23. marts 2004 - 14:42 #5
iøvrigt er en python commandline udemærket som lommeregner da du kan skrive regne stykker direkte i den, men jeg går ud fra du laver den for at lære ;)
Avatar billede jasperDK Nybegynder
23. marts 2004 - 14:44 #6
Jeg laver lommeregneren for at lære!
Programmere du selv i python? Eller er det bare lidt bagrundsviden?

(kan du skrive lidt flere kommentarer til din første kode? Ville være lækkert!)

Mvh TTJ
Avatar billede jasperDK Nybegynder
23. marts 2004 - 14:46 #7
Kan jeg få den til at gå tilbage til starten, når stykket er udregnet?
Avatar billede simonvalter Praktikant
23. marts 2004 - 15:05 #8
print "+ = plus"
print "- = minus"
print "/ = divide"
print "* = multiply"
print "quit = stop program"
while True: # sålænge det er sandt, hvilket det hele tiden er. læs på boolean
    regningsart = raw_input("Hvilken operator vil du bruge: ")
    if regningsart == "quit":
        break // hop ud af løkken
        print ""
        print ""
    if regningsart == "+":
        while True: # så længe at der ikke bliver tastet et tal, prøv igen
            try:
                number1 = int(raw_input("Type the first character: ")) # cast string input til en int så der kan regnes med den
                break # hop ud af loop
            except ValueError: # hvis det ikke var en int
                print "du skal taste et tal,prøv igen"
        print ""
        while True: # while loop, se while loop 1
            try: # prøv at cast string input til int, hvis fejl = ikke tal hop til except
                number2 = int(raw_input("Type the second character: "))
                break
            except ValueError: # der var en value error, kunne ikke cast til int
                print "y is not a number, try again"
        print ""
        print "The result is: "
        print number1 + number2 # lig tal sammen
Avatar billede simonvalter Praktikant
23. marts 2004 - 15:06 #9
hov jeg kommer hele tiden til at kommentere med //
skift det ud med #
Avatar billede simonvalter Praktikant
23. marts 2004 - 15:06 #10
og nej jeg har kigget på python i 2 dage, så det er ikke meget mere end det her jeg kender til
Avatar billede jasperDK Nybegynder
23. marts 2004 - 15:07 #11
Rigtig mange tak!
Avatar billede simonvalter Praktikant
23. marts 2004 - 15:17 #12
np
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