J'ai une tâche pour ma classe qui devient un casse-tête pour moi. Définir une classe appelée voiture avec les attributs suivants:Obtenir le nom "name" n'est pas défini erreur
total odomètre Miles
Vitesse en miles par heure
Nom du pilote
Sponsor
Les miles du compteur kilométrique total et la rapidité devrait être initialisé à zéro.
Créer une liste de 20 véhicules uniques avec aléatoire (ou réel (Liens vers un site externe.) Liens vers un site externe.) Noms de pilotes et de sponsors.
Votre programme principal devrait simuler la progression des véhicules en course. Chaque simulation minute, les véhicules choisissez une nouvelle vitesse aléatoire entre 1 et 120, et leurs miles kilométriques sont mis à jour chaque minute en utilisant cette équation:
odometer_miles = odometer_miles + vitesse * Temps Depuis la vitesse est en miles par heure, le temps devrait être en heures aussi (1 minute est 1/60e d'heure).
Je pense que peut-être ma compréhension de l'utilisation de def
est désactivée. Comme le dit le titre quand je lance mon programme, il dit
Traceback (most recent call last): File "/Users/darrellanddawn/Documents/Nascar.py", line 63, in main()
File "/Users/darrellanddawn/Documents/Nascar.py", line 57, in main racers()
NameError: name 'racers' is not defined
Toutes les suggestions ou explications pour lesquelles je reçois cette erreur?
start = True
#Car and drivers
class Car:
def racers():
global miles
miles = 0
speed = 0
drivers = {'00' : 'Van Hellsing', '01' : 'Vlad Dragul', '02' :'Lightening McSeen',
'03' : 'Viktor Frankenstein', '04' : 'Richy Rich', '05' : 'Lynn Steely',
'06' : 'Roscoe Bautista','07' : 'Matt Pilling', '08' :'Fredric Montrose',
'09' : 'Ward Clutts', '10' :'Miles Bruck', '11': 'Darrin Isakson', '12' :'Chauncey Speno',
'13' : 'Billie Coghill', '14' : 'Donn Lusher', '15' : 'Vaughn Naugle', '16' :'Patrick Climer',
'17' : 'Jerome Harring', '18' : 'Carlo Bohanon', '19' : 'Brian Coggins'}
sponsers = {'00' : 'Pepesi', '01' : 'Coke', '02' : 'Pensoil',
'03' : 'Wal-Mart', '04' : 'Exxon', '05' : 'Shell',
'06' : 'Food Lion','07' : 'McDonalds', '08' :'Ubisoft',
'09' : 'Taco Bell', '10' :'Good Year', '11': 'Apple', '12' :'Microsoft',
'13' : 'Lowes', '14' : 'Home Depot', '15' : 'Save-A-Lot', '16' :'Sprint',
'17' : 'Verison', '18' : 'Virgin Mobile', '19' : 'Huggies'}
def race():
import random
global speed
winner = False
time = 0
while not winner:
speed = random.randint(1,120)
time = + 1
miles = miles + (speed/60) * time
def win(driver, sponser):
if miles == 500:
winner = True
while winner:
print('The winner is: ', drivers, sponsers)
def stop():
print('Thank you for watching the UAT 500!')
import sys
sys.exit(0)
def main():
Car
racers()
race()
win()
stop()
while start:
main()
'coureurs()' est définie que dans la classe 'Car', pas dans la méthode' main() ' – frozen
S'il vous plaît poster l'erreur que vous obtenez votre question et indiquer quelle ligne donne l'erreur – DarkCygnus
Il semble que vous comprenez 'global'. Il dit simplement que vous voulez modifier la variable avec ce nom dans la portée globale. Il ne crée pas de variable globale. Essayez de l'implémenter sans globals qui devraient résoudre ce problème et les prochains "x" problèmes qui se posent. – MSeifert