Bonjour,

Voivi mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#-- coding=utf-8 --
import csv
import json
from math import *
 
#Fichiers utilisés
ListeVilleLatitudeLongitude = csv.reader(open("liste_ville.csv","rb"),delimiter=",") #fichier csv contenant le classement des villes, leurs noms, leur latitudes, leurs longitudes et les pays où sont les villes
Info_avion = json.load(open("full_all.json")) #fichier json fournit contenant les données sur les avions
 
#Listes créés à partir du fichier "liste_ville.csv" car une boucle utilisant row ne peut être utilisé qu'une fois dans un programme
villes=[]
latitudes=[]
longitudes=[]
for row in ListeVilleLatitudeLongitude:
	villes.append(row[1]) #lister les villes
	latitudes.append(row[2]) #lister les latitudes
	longitudes.append(row[3]) #lister les longitudes
 
#Partie du programme servant à calculer la vitesse moyenne
vitesse_totale=0 #initialisation de la vitesse cumulée des avions
mon_dictionnaire=dict(Info_avion) #création du dictionnaire à partir du fichier json
nombre_avion=0 #initialisation du nombre d'avion
for key,value in mon_dictionnaire.items():
	if (value[5]>200):
		nombre_avion=nombre_avion+1
		vitesse_totale=vitesse_totale + value[5]
vitesse_moyenne=vitesse_totale/nombre_avion
 
#Pour recommencer le programme autant de fois que nécessaire si l'utilisateur n'est pas satisfait de sa recherche et qu'il veut recommencer le programme.
z=0
while (z==0):
 
#Partie I demande de la ville
 
	print "Quelle est votre ville cible parmis les 50 plus grandes villes mondiales? (merci d'éviter les accents)\nMettre des tirets à la place des espaces."
	ville=raw_input().upper()
 
	i=0
	while (i==0):
		for j in range(0,len(villes)):
			if (villes[j]==ville):
				i=1
				numero_ville=j 
		if (i==0):
			print "Vous vous êtes trompés lors de la saisie de votre ville ou vous n'avez pas choicit une des plus grandes 50 villes.\n Merci de la resaisir."
			ville=raw_input().upper()
	print "Vous avez bien marqué une ville faisait partie des 50 plus grandes villes du monde."
 
 
#Partie II demande du temps moyen et calcul de la distance
#Partie II.1 Demande du temps moyen
	print "Quel est le temps moyen dont vous disposez pour détrourner votre avion (temps en minute, minimum 1 min)?"
	Temps_Moyen=float(raw_input())
 
	i=0
	while(i==0):
		if (Temps_Moyen>1):
			Temps_Plus_10pourcent=Temps_Moyen*1.1
			Temps_Moins_10pourcent=Temps_Moyen*0.9
			print Temps_Plus_10pourcent
			print Temps_Moins_10pourcent
			i=1
		else:
			print "Le temps moyen n'est pas de minimum 1 minute. Merci de retaper un temps."
			Temps_Moyen=float(raw_input())
	print "Le temps marqué est correct."
 
#Partie II.2 Calcul de la distance
	Distance_Plus_10pourcent=Temps_Plus_10pourcent*vitesse_moyenne/60
	Distance_Moins_10pourcent=Temps_Moins_10pourcent*vitesse_moyenne/60
 
#Partie III Trouver les avions disponibles
	avion_proche=0
	for key,value in mon_dictionnaire.items():
		if (value[5]>200 and acos(sin(radians(latitudes(numero_ville)))*sin(radians(value[1]))+cos(radians(latitudes(numero_ville)))*cos(radians(value[1]))*cos(radians(longitudes(numero_ville)-value[2])))*6371<Distance_Plus_10pourcent and Distance_Moins_10pourcent<acos(sin(radians(latitudes(numero_ville)))*sin(radians(value[1]))+cos(radians(latitudes(numero_ville)))*cos(radians(value[1]))*cos(radians(longitudes(numero_ville)-value[2])))*6371):
			avion_proche=avion_proche+1
et la j'ai un problème avec un if... cette formule sert normalement à verifier que la vitesse de l'avion est supérieur à 200 et qu'il est entre dans les distances demandés..
Cette formule marhce bien sur excel mais impossible de la faire marcher ici...

quelqu'un a une idée du pourquoi?