Aviseringar
Rensa alla

Någon som skulle kunna hjälpa mig med ett python script?


Ämnesstartare

Tja, jag har lite problem med python. När jag försöker köra scriptet så säger den "invalid syntax"

Texten


   
Citera

du har en invalid text


   
SvaraCitera
Ämnesstartare

Macktorsken:

du har en invalid text

Något som du vet om? Vad kan jag ändra på?


   
SvaraCitera
Åtta

Såhär bör det vara:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#

import random
import easygui
tal1 = random.randint(1,10)
tal2 = random.randint(1,10)
fraga = str(tal1) + " * " + str(tal2) + " = ?"
antal_fragor = 1
antal_fel = 0
while antal_fragor < 11:
svar_txt = easygui.enterbox(fraga)
svar_heltal = int(svar_txt)
facit = tal1 * tal2

if svar_heltal == facit:
easygui.msgbox("Bra")
antal_fragor=antal_fragor +1
else:
easygui.msgbox("Fel! Prova igen!")
antal_fel = antal_fel +1

easygui.msgbox("Slut. Du gjorde "+str(antal_fel)+"fel.")

Jag har inte easygui installerat, så jag kan inte testa det, men jag tror att det är syntaktiskt korrekt nu.

På rad 5 försökte du importera metoden easygui från modulen random, vilket givetvis inte fungerade. Gör det istället till två import-statements, eller använd ett komma istället för en punkt.

På rad tio hade du skrivit "antal fragor" istället för "antal_fragor". Variabelnamn kan inte ha mellanslag.

På rad tolv hade du ett semikolon efter din while-sats. Det ska vara ett kolon.

På rad tjugo hade du inget kolon efter "else".


   
SvaraCitera

Wezc:

Något som du vet om? Vad kan jag ändra på?

några kromosomer.


   
SvaraCitera
Ämnesstartare

Grymt, känner mig lite puckad nu. [sad]

Men tack för att du kunde hjälpa till [smile]

- - - - - - - - - - - - - - - - - Sammanslagning 1 - - - - - - - - - - - - - - - - -

Macktorsken:

några kromosomer.

Mm, var du rolig nu?


   
SvaraCitera

Wezc:

Mm, var du rolig nu?

Ja, ypperligt.


   
SvaraCitera

Åtta:

while-sats

Ska du inte ge tal[1,2] nya värden i loopen?


   
SvaraCitera
import System.Random

problems g = zip (randomRs (1 :: Int, 10) g1) (randomRs (1, 10) g2)
where (g1, g2) = split g

ask (a, b) = do
putStrLn $ "Vad blir " ++ show a ++ "*" ++ show b ++ "?"
putStrLn . show . (== a*b) =<< readLn

main = mapM_ ask . problems =<< newStdGen

Problem, programmers?


   
SvaraCitera
Åtta

Comrade Premier:

Ska du inte ge tal[1,2] nya värden i loopen?

Förmodligen. Jag reflekterade aldrig över vad koden gjorde. Jag fixade bara de syntaktiska felen jag såg.


   
SvaraCitera