Lowest price ever! Learn Generative AI for 48% less!
Get my discount+ 2
help me i want to shorten my code using def function
print('bienvenue au questionnaire') i = 1 while i < 30: gnima = input('LA DISTANCE MESURÉE EN DEGRÉS ENTRE LE MERIDIEN DE GREENWICH ET UN POINT QUELQUONQUE? ') if gnima == 'longitude': print('c est trouvé') break else: print('C EST FAUX RÉESSAYER') i = i + 1 u = 1 while i < 30: gma = input('Distance d’un lieu à l’équateur mesurée en degrés sur le méridien voir parallèle. ') if gma == 'latitude': print('C EST TROUVÉ') break else: print('C EST FAUX RÉESSAYER') o = 1 while o < 30: gna = input('Localisation d un objet sur une carte à l aide de coordonnées géographiques. ') if gna =='géolocalisation': print('C EST TROUVÉ') break else: print('C EST FAUX RÉESSAYER')
1 Answer
+ 3
This is a little shorter. It won't behave exactly the same but maybe that's a good thing. You have some loops that compare with 30 which are actually infinite because the corresponding variable won't change within the loop. I changed all answer prompting loops to stop after 30 wrong answers.
print('bienvenue au questionnaire')
questions = [{
'q': 'LA DISTANCE MESURÉE EN DEGRÉS ENTRE LE MERIDIEN DE GREENWICH ET UN POINT QUELQUONQUE?',
'a': 'longitude'},
{
'q': 'Distance d’un lieu à l’équateur mesurée en degrés sur le méridien voir parallèle.',
'a': 'latitude'
},
{
'q': 'Distance d’un lieu à l’équateur mesurée en degrés sur le méridien voir parallèle.',
'a': 'géolocalisation'
}
]
for q in questions:
i = 1
while i < 30:
print(q['q'])
gnima = input().strip()
if gnima == q['a']:
print('c est trouvé')
break
else:
print('C EST FAUX RÉESSAYER')
i += 1
The following isn't any shorter than above but it uses "def" like you mentioned in your question.
def ask_question(q):
i = 1
while i < 30:
gnima = input(q['q'])
if gnima == q['a']:
print('c est trouvé')
break
else:
print('C EST FAUX RÉESSAYER')
i += 1
print('bienvenue au questionnaire')
questions = [{
'q': 'LA DISTANCE MESURÉE EN DEGRÉS ENTRE LE MERIDIEN DE GREENWICH ET UN POINT QUELQUONQUE?',
'a': 'longitude'},
{
'q': 'Distance d’un lieu à l’équateur mesurée en degrés sur le méridien voir parallèle.',
'a': 'latitude'
},
{
'q': 'Distance d’un lieu à l’équateur mesurée en degrés sur le méridien voir parallèle.',
'a': 'géolocalisation'
}
]
for q in questions:
ask_question(q)