Hej!
jag håller på att skriva ett program i Python! men har fastnar och programmet funkar inte!
kan någon vara snäll och kolla igenom vad jag har gjort för fel! kommer verkligen inte på något!! :((
"""skriver ett träningsprogram för periodiska systemet"""
import random
class Atomer(object):
"""representerar alla grundämnen"""
def __init__(self,atombeteckning,atomvikt,atomnummer):
self.atombeteckning = atombeteckning
self.atomvikt = atomvikt
self.atomnummer = 0
def __str__(self):
sträng = self.namn
sträng += ", " + str(self.atombeteckning)
sträng += ", " + str(self.atomvikt)
sträng += ", " + str(self.atomnummer)
return sträng
def skriv_atombeteckning(self, atombeteckning):
self.atombeteckning = atombeteckning
def skriv_atomvikt(self, atomvikt):
self.atomvikt = atomvikt
def skriv_atomnummer(self, atomnummer):
self.atomnummer = atomnummer
def ge_atombeteckning(self):
return self.atombeteckning
def ge_atomvikt(self):
return self.atomvikt
def ge_atomnummer(self):
return self.atomnummer
def __lt__(self,other):
if self.vikt < other.vikt:
return True
elif self.vikt > other.vikt:
return False
def sorterar(self):
self.lista.sort()
# funkioner
def las_in():
"""läser in filen"""
fil=open("anasor.txt","r")
filen= fil.readlines()
lista= []
for elem in filen:
c_elem = elem.strip()
atombt = c_elem[:3].strip()
atomvikt = c_elem[4:].strip()
atom=Atomer(c_elem[0], c_elem[1], c_elem[2])
lista.append(atom)
print(atombt+ " " +atomvikt)
#lista.sort()
def sortering():
pass
las_in()
#anropar las_in()
def sortera(self):
self.lista.sort()
#sorterar listan
def välj_atomnummer(self):
m=1
for n in lista:
n.atomnummer=m
m=m+1
def byter_plats(self):
#byter plats på de angivna atomer
k = self.obtlista.pop(18)
self.obtlista.insert(19, k)
k = self.obtlista.pop(27)
self.obtlista.inser(28, k)
k = self.obtlista.pop(52)
self.obtlista.insert(53, k)
k = self.obtlista.pop(90)
self.obtlista.insert(91, k)
k = self.obtlista.pop(92)
self.obtlista.insert(93, k)
def tranar_pa_atomnummer(): #en funktion för att kunna träna på atomnummer
A=Atomer()
print("\n vi ska nu träna på atomnummer!")
i=random.randint(0,len(lista))
rätt=lista[i].atomnummer
antal=3
print("skriv atomnummret för", lista[i].atombeteckning,".")
gissning=input("skriv atomnummret!")
if gissning == rätt:
print("\nbra jobbat!svaret var rätt")
elif gissning != rätt
antal <=2:
print("fel svar! försök igen!", + gissning + ":")
antal +=1
return antal
else gissning != rätt
antal >3
break
print("rätt svar var" + rätt + "!")
tranar_på_atomnummer()
def tranar_pa_atombeteckning():#en funktion för att kunna träna på atombeteckningar
A=Atomer
print("\n vi ska nu träna på atombeteckning!")
i=random.randint(0,len(lista))
rätt=lista[i].atombeteckning
antal=3
print("skriv atombeteckningen för",lista[ı].atomnummer,".")
gissning=input("skriv atombeteckningen!")
if gissning == rätt:
print("\nbra jobbat!svaret var rätt")
elif gissning != rätt
antal <=2:
print("fel svar! försök igen!", + gissning + ":")
antal +=1
return antal
else gissning != rätt
antal >3
break
print("rätt svar var" + rätt + "!")
def meny():#skriver en meny för att användaren ska ha möjlighet att välja bland de alternativ som finns
"""hanterar menyval!"""
print("Hej!Välkommen, här kan du träna på atomnummer, atombeteckning och se alla atomer!")
while True:
print("-----1.visa alla atomer!----")
print("-----2.träna på atomnummer!----")
print("-----3.visa på atombeteckningar!----")
print("-----4.sluta!----")
svar="vad vill du göra, välj mellan 1-4.")
if svar =="1":
las_in()
elif svar =="2":
tranar_pa_atomnummer()
elif svar == "3":
tranar_pa_atombeteckning()
elif svar == "4":
print("hejdå!Välkommen åter!")
else:
print("försök om")
meny()
def main():
lista = las_in("anasor.txt")
meny(lista)
main()

Ellie svarar:
Vi svarar på sex och blandat frågor. Till blandat hör frågor om hälsa, relationer och samlevnad. Vi kodar således inte. Hör av dig till någon av kodarna på sidan istället.