Mon code est d'imprimer la moyenne des tuples dans une liste et de retourner Aucun si la liste est vide. En ce moment c'est mon code
def average_vehicles(vehicle_records):
"""Return average of vehicles"""
summ = 0
num = 0
average = 0
if vehicle_records != []:
for value in vehicle_records:
summ += value[1]
num += 1
average = summ / num
else:
average = "None"
return average
J'obtiens la sortie correcte pour ce code de test:
some_records = [('2010-01-01',100),
('2010-01-02',200),
('2010-01-03',300)]
avg = average_vehicles(some_records)
print(avg)
Cependant, je n'arrive pas à faire imprimer "OK" pour le code de test suivant et je ne sais pas pourquoi il ne fait pas le travail alors que tout le reste semble correct, quelqu'un peut-il m'aider?
some_records = []
avg = average_vehicles(some_records)
if avg is None:
print('OK')
else:
print('The function should return a None value')
5 réponses
Aucun ne doit pas être une chaîne mais un objet Aucun. Modifiez la ligne suivante average = "None"
en average = None
et cela devrait fonctionner.
some_records = []
avg = average_vehicles(some_records)
if avg == 'None':
print('OK')
else:
print('The function should return a None value')
Explication:
Lorsque nous imprimons le type de avg
, il est de type str
mais si nous vérifions avg is None
, dans ce None
est de type Nonetype
. Nous devons donc vérifier en utilisant "Aucun" comme avg == 'None'
some_records = []
avg = average_vehicles(some_records)
if avg == "None":
print('OK')
else:
print('The function should return a None value')
None
et "None"
ne sont pas la même chose.
Vous retournez la chaîne "None"
au lieu de l'objet None
Questions connexes
De nouvelles questions
python
Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent. Il est conçu pour être rapide à apprendre, comprendre, utiliser et appliquer une syntaxe propre et uniforme. Veuillez noter que Python 2 est officiellement hors support à partir du 01-01-2020. Néanmoins, pour les questions Python spécifiques à la version, ajoutez la balise [python-2.7] ou [python-3.x]. Lorsque vous utilisez une variante Python (par exemple, Jython, PyPy) ou une bibliothèque (par exemple, Pandas et NumPy), veuillez l'inclure dans les balises.