Ich bin neu in Python. In meinem Modul - Utility.py, nimmt die folgende Funktion das Alter und Geschlecht einer Person auf. Es gibt die Gebühren zurück, die diese Person je nach Alter und Geschlecht zu zahlen hat. Ich darf an diesem Modul keine Änderungen vornehmen.NameError in Python - Kann keine Funktion aufrufen
def get_fees(age, gender):
if gender == 'M':
if age >= 50:
return 300
elif age >= 35:
return 250
else:
return 150
else:
if age >= 50:
return 320
elif age >= 35:
return 270
else:
return 160
Ich habe auch ein neues Modul, PrintFees.py, wo ich brauche die Benutzer für das Alter und Geschlecht zu veranlassen und dann die Eingaben an die Funktion (get_fees) übergeben, die von dem I-Dienstprogramm-Modul aufrufen müssen . Ich muss auch die Gebühren drucken.
Hier ist, was ich versucht:
import Utility
age= int(input("What's your age? "))
gender = input("What's your gender? [M|F]")
#Print fees
print("Your fees is $", Utility.get_fees(age,gender))
Wenn ich zu laufen versucht, diese Fehlermeldung angezeigt.
Traceback (most recent call last):
File "printfees.py", line 7, in <module>
print("Your fees is $", Utility.get_fees(age,gender))
NameError: name 'Utility' is not defined
Wie löse ich dieses Problem? Vielen Dank.
diejenigen, die nicht Klassen sind, sind sie Module. –
Wenn der Import durchgeführt wurde, sehe ich nicht, warum das, was Sie gezeigt haben, nicht funktionieren sollte. Sehen Sie, Ihr Fehler sagt 'printfees.py', Sie sagen' PrintFees.py'. Sie haben wahrscheinlich das gleiche mit 'Utility.py' getan. –
Zunächst einmal ist Ihre Terminologie ein bisschen aus. Sie haben keine Klassen angelegt, Sie haben Module angelegt. Modul ist nur der Python-Jargon für eine Datei mit Python-Code. Nun zu deinem Problem: Ich kann den Fehler nicht erneut versuchen. Etwas anderes, was du uns nicht gezeigt hast, geht weiter. – timgeb