Notifications
Clear all

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


Wezc
 Wezc
Topic starter

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

Texten


   
Quote

du har en invalid text


   
ReplyQuote
Wezc
 Wezc
Topic starter

Macktorsken:

du har en invalid text

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


   
ReplyQuote
Å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".


   
ReplyQuote

Wezc:

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

några kromosomer.


   
ReplyQuote
Wezc
 Wezc
Topic starter

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?


   
ReplyQuote

Wezc:

Mm, var du rolig nu?

Ja, ypperligt.


   
ReplyQuote

Åtta:

while-sats

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


   
ReplyQuote
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?


   
ReplyQuote
Å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.


   
ReplyQuote