Guten Morgen HTLEisenstadt
Bei dieser Zeile:
Code: Alles auswählen
stelle1 = stell1 #float(input("Profilwölbung in %: "))
nehme ich an, dass du den auskommentierten Teil:
der Zeile als Tastatureingabe einkommentieren wirst sobald das Skript erste Zeichen von Lauffähigkeit zeigt. Richtig? Also in der Zwischenzeit möchtest du diesen auskommentierten Teil ersetzen durch die Variable:
Damit du aber diese Variable so verwenden kannst muss sie zuerst vorhanden sein und einen Wert zugewiesen bekommen wie folgt:
Code: Alles auswählen
#---------------------------Eingabe des Benutzers-------------------------------
stell1 = 10.0
stell2 = 10.0
stell3 = 10.0
alpha = 100.0
stelle1 = stell1 #float(input("Profilwölbung in %: "))
stelle2 = stell2 #float(input("Wölbungsrücklage in 10-%: "))
stelle3 = stell3 #float(input("Profildicke in % (zweistellig): "))
alpha = alpha #float(input("Anstellwinkel alpha[°] = "))
Oder du kannst die Werte direkt ohne neue Variablen zu kreieren zuweisen wie:
Code: Alles auswählen
#---------------------------Eingabe des Benutzers-------------------------------
stelle1 = 10.0 #float(input("Profilwölbung in %: "))
stelle2 = 10.2 #float(input("Wölbungsrücklage in 10-%: "))
stelle3 = 10.0 #float(input("Profildicke in % (zweistellig): "))
alpha = 100.0 #float(input("Anstellwinkel alpha[°] = "))
Aber dies sind jetzt wirklich Programmierbasics. Da musst du vielleicht nochmals über die Bücher (Tutorials) gehen.
Der bellende Hund in deinem Skript:
Code: Alles auswählen
Traceback (most recent call last):
File "C:\Users\xxxxxxxxxxxx\Desktop\programm_LH1.py", line 330, in <module>
stelle1 = get_zahl1() #float(input("Profilwölbung in %: "))
File "C:\Users\xxxxxxxxxxxxxx\Desktop\programm_LH1.py", line 23, in get_zahl1
return int(sar.get()[0])
ValueError: invalid literal for int() with base 10: 'A'
Diese Exception könnte entstehen da hier etwas schief läuft:
Code: Alles auswählen
def ok():
if sar.get() == CHOICE:
print("Bitte zuerst Profil auswählen!")
return
Bei mir wirft dies eine Exception, die folgende Warnung enthält:
Code: Alles auswählen
num_splitter_03_01.py:81: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
if sar.get() == CHOICE:
Da mein Skript:
codiert ist.
Versuchte herauszufinden was hier das Problem ist und ergänzte den Code-Abschnitt mit:
zu:
Code: Alles auswählen
if sar.get() == CHOICE:
print("Bitte zuerst Profil auswählen!")
return
print(sar.get(), CHOICE)
Hiermit wurde die Exception mit Klartext erweitert:
Code: Alles auswählen
num_splitter_03_01.py:81: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
if sar.get() == CHOICE:
(u'Ausw\xe4hlen', 'Ausw\xc3\xa4hlen')
und zwar mit:
Diese sagt aus, dass der Vergleich:
in die Hose gehen muss.
Um dieses Problem zu beheben machte ich folgende Änderung:
Und siehe da der Hund beruhigte sich.
Hoffe dir hiermit ein wenig weitergeholfen zu haben.
Gruß wuf