Python : convertir Rad -> deg sec min
Résolu/Fermé
Sayu
-
23 août 2009 à 12:06
piotaras Messages postés 3 Date d'inscription mercredi 30 septembre 2015 Statut Membre Dernière intervention 30 septembre 2015 - 30 sept. 2015 à 02:17
piotaras Messages postés 3 Date d'inscription mercredi 30 septembre 2015 Statut Membre Dernière intervention 30 septembre 2015 - 30 sept. 2015 à 02:17
A voir également:
- Conversion radian degré minute seconde
- Citizen code python avis - Accueil - Outils
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- [PyCharm] Pas d'interpréteur python ✓ - Forum Python
- Geometry dash python ✓ - Forum Python
4 réponses
Bonjour,
Je me permet de proposer mon script:
#Exercice 5.2
#Convertir un angle donné en degrés, minutes, secondes en radian
#Sachant que degres=(180*radians)/pi
#La base
radians=0.602662190713642
pi=3.141592653589793238462643383279502884197
#Convertir radians en degres decimaux
degres=(180*radians)/pi
#Convertir degres de decimaux en degres fixe (degres, minutes, secondes)
Dfin=int(degres) #Mise de coté des degrés
restant=degres-int(degres) #Mise de coté des restant aprés la virgule
Mfin=int(restant*60) #Calcul des minutes
restant=(restant*60)-Mfin #Calcul des restant aprés la virgule
Sfin=int(restant*60) # Calcul des secondes
#Affichage du résultat
print("Exercice 5.2")
print("Si l'angle est égal à : ",radians,"radians")
print("Il fait donc : ",Dfin,"degrés",Mfin,"minutes",Sfin,"secondes")
et pour le contraire:
#Exercice 5.1
#Convertir un angle donné en degrés, minutes, secondes en radian
#Sachant que radian=pi*(degres(decimaux))/180
#Donner la base
Dbase=34
Mbase=31
Sbase=48
#Convertir la base en degrés décimaux
degres=Dbase+(Mbase/60)+(Sbase/3600)
#Definition de pi (3,141592653589793238462643383279502884197)
pi=3.141592653589793238462643383279502884197
#Effectuer la convertion des degres en radians
radians=(pi*degres)/180
print("Exercice 5.1")
print("Si l'angle est égal à : ",Dbase,"degrés",Mbase,"minutes",Sbase,"secondes")
print("Il fait donc : ",radians,"radians")
Je me permet de proposer mon script:
#Exercice 5.2
#Convertir un angle donné en degrés, minutes, secondes en radian
#Sachant que degres=(180*radians)/pi
#La base
radians=0.602662190713642
pi=3.141592653589793238462643383279502884197
#Convertir radians en degres decimaux
degres=(180*radians)/pi
#Convertir degres de decimaux en degres fixe (degres, minutes, secondes)
Dfin=int(degres) #Mise de coté des degrés
restant=degres-int(degres) #Mise de coté des restant aprés la virgule
Mfin=int(restant*60) #Calcul des minutes
restant=(restant*60)-Mfin #Calcul des restant aprés la virgule
Sfin=int(restant*60) # Calcul des secondes
#Affichage du résultat
print("Exercice 5.2")
print("Si l'angle est égal à : ",radians,"radians")
print("Il fait donc : ",Dfin,"degrés",Mfin,"minutes",Sfin,"secondes")
et pour le contraire:
#Exercice 5.1
#Convertir un angle donné en degrés, minutes, secondes en radian
#Sachant que radian=pi*(degres(decimaux))/180
#Donner la base
Dbase=34
Mbase=31
Sbase=48
#Convertir la base en degrés décimaux
degres=Dbase+(Mbase/60)+(Sbase/3600)
#Definition de pi (3,141592653589793238462643383279502884197)
pi=3.141592653589793238462643383279502884197
#Effectuer la convertion des degres en radians
radians=(pi*degres)/180
print("Exercice 5.1")
print("Si l'angle est égal à : ",Dbase,"degrés",Mbase,"minutes",Sbase,"secondes")
print("Il fait donc : ",radians,"radians")
piotaras
Messages postés
3
Date d'inscription
mercredi 30 septembre 2015
Statut
Membre
Dernière intervention
30 septembre 2015
4
30 sept. 2015 à 02:17
30 sept. 2015 à 02:17
# Exercice 5.2:
# Convertit en degrés, minutes et secondes un angle exprimé en radians
# Cet exercice n'a pas pu être résolu autrement qu'en utilisant la
# fonction int() qui à ce stade du livre n'a pas encore été dévoilée.
PI = 3.141592653589793
rad = 3.1416
# On commence par exprimer en secondes entières l'angle <rad>, afin
# de conserver la plus grande précision possible.
secondes = int(180*rad/PI*60*60)
s = secondes%60
m = secondes//60
d = m//60
m = m%60
print(rad,"rad = ",d,"°",m,"'",s,'"')
# Convertit en degrés, minutes et secondes un angle exprimé en radians
# Cet exercice n'a pas pu être résolu autrement qu'en utilisant la
# fonction int() qui à ce stade du livre n'a pas encore été dévoilée.
PI = 3.141592653589793
rad = 3.1416
# On commence par exprimer en secondes entières l'angle <rad>, afin
# de conserver la plus grande précision possible.
secondes = int(180*rad/PI*60*60)
s = secondes%60
m = secondes//60
d = m//60
m = m%60
print(rad,"rad = ",d,"°",m,"'",s,'"')
Cela me semble ... hum ... pas clair !
ceci le serait-il plus ?
# exo 5.1
print ("exo 5.1")
pi=3.141592653589793238462643383279502884197
degre = 34
minutes = 31
secondes = 48
myFloat = degre + minutes/60 + secondes/3600
print (degre,"°", minutes,"'",secondes, "'' == " ,myFloat)
radian = myFloat * pi / 180
print (" == ", radian , "radians")
# exo 5.2
print (" ")
print ("exo 5.2")
pi=3.141592653589793238462643383279502884197
myFloat = 0.602662190714
Fdegre = myFloat * 180 / pi
degre = int(Fdegre)
Fminutes=(Fdegre - degre)*60
minutes=int(Fminutes)
Fsecondes = (Fminutes - minutes)*60
secondes = int(Fsecondes)
print (myFloat, " radians = ",degre,"°", minutes,"'",secondes, "''")
# resultats :
exo 5.1
34 ° 31 ' 48 '' == 34.53
== 0.602662190714 radians
exo 5.2
0.602662190714 radians = 34 ° 31 ' 48 ''
ceci le serait-il plus ?
# exo 5.1
print ("exo 5.1")
pi=3.141592653589793238462643383279502884197
degre = 34
minutes = 31
secondes = 48
myFloat = degre + minutes/60 + secondes/3600
print (degre,"°", minutes,"'",secondes, "'' == " ,myFloat)
radian = myFloat * pi / 180
print (" == ", radian , "radians")
# exo 5.2
print (" ")
print ("exo 5.2")
pi=3.141592653589793238462643383279502884197
myFloat = 0.602662190714
Fdegre = myFloat * 180 / pi
degre = int(Fdegre)
Fminutes=(Fdegre - degre)*60
minutes=int(Fminutes)
Fsecondes = (Fminutes - minutes)*60
secondes = int(Fsecondes)
print (myFloat, " radians = ",degre,"°", minutes,"'",secondes, "''")
# resultats :
exo 5.1
34 ° 31 ' 48 '' == 34.53
== 0.602662190714 radians
exo 5.2
0.602662190714 radians = 34 ° 31 ' 48 ''
piotaras
Messages postés
3
Date d'inscription
mercredi 30 septembre 2015
Statut
Membre
Dernière intervention
30 septembre 2015
4
30 sept. 2015 à 01:44
30 sept. 2015 à 01:44
Le problème c'est que à ce stade du livre ("Apprendre à programmer avec Python 3", 3e édition, de Gérard Swinnen), on n'est pas censé connaître la fonction int().
Donc la question est de savoir si c'est possible de résoudre cet exercice sans y recourir, en utilisant par exemple la division entière et le modulo (%).
Ca fait une heure que je me casse la tête dessus !
Donc la question est de savoir si c'est possible de résoudre cet exercice sans y recourir, en utilisant par exemple la division entière et le modulo (%).
Ca fait une heure que je me casse la tête dessus !
Sayu
Messages postés
377
Date d'inscription
samedi 4 octobre 2008
Statut
Membre
Dernière intervention
20 avril 2010
60
23 août 2009 à 12:18
23 août 2009 à 12:18
J'ai retourné le probléme a l'envers, et j'ai effectué un nouveau script :
# Variables
min, sec, deg = 2, 51, 58.4713375796
pi = 3.14
# Script
a = min*3600 + sec*60 + deg
print "Un angle de", min, "minutes,", sec,"secondes et de", deg, "équivaut à", a, "degrés."
rad = pi * a / 180
print "Donc il correspond à", rad, "radian."
Resultat :
Un angle de 180 radian est égal à :
2.0 minutes, 51.0 secondes et 58.4713375796 degrés, soit un total de 10318.4713376 degrés.
Une petite recorrection du script précédemment effectué :
# Script
print "Un angle de", a, "radian est égal à :"
# Variables
min, sec, deg = 2, 51, 58.4713375796
pi = 3.14
# Script
a = min*3600 + sec*60 + deg
print "Un angle de", min, "minutes,", sec,"secondes et de", deg, "équivaut à", a, "degrés."
rad = pi * a / 180
print "Donc il correspond à", rad, "radian."
Resultat :
Un angle de 180 radian est égal à :
2.0 minutes, 51.0 secondes et 58.4713375796 degrés, soit un total de 10318.4713376 degrés.
Une petite recorrection du script précédemment effectué :
# Script
print "Un angle de", a, "radian est égal à :"
piotaras
Messages postés
3
Date d'inscription
mercredi 30 septembre 2015
Statut
Membre
Dernière intervention
30 septembre 2015
4
30 sept. 2015 à 01:46
30 sept. 2015 à 01:46
On ne doit pas avoir de décimales dans le résultat. Ces dernières se transforment en degrés et secondes justement !