#BEGINPROF print("Exercice 1\n") ## Question 1.1 p=5 q=3*p # Le symbole * est obligatoire (on ne peut pas écrire 3p) ## Question 1.2 print('p vaut',p, 'et q vaut',q, '; leur somme vaut', p+q) ## Question 1.3 p%q == 0 ## Question 1.4 tmp=p p=q q=tmp ## Question 1.5 (1+2+3+4+5+6+7+8+9+10)/10 ## Question 1.6 (1+2+3+4+5+6+7+8+9+10+11)/11 ## Question 1.7 import math math.gcd(51,85) # Calcul le PGCD de 51 et 85 ## Question 1.8 5**4 > 4**5 ## Question 1.9 help(max) print("\nExercice 2\n") r = 0 m = int(input("Entrer un nombre entre 0 et 999 :")) c = m%10 r = r*10 + c m = m//10 print(c) c = m%10 r = r*10 + c m = m//10 print(c) c = m%10 r = r*10 + c m = m//10 print(c) print(r) ## Question 2.3 ## Question 2.4 ## Question 2.5 ##ENDPROF print("\nExercice 3\n") ## Question 3.1 def réduction(n): if n>=50: return 20 elif n>=10: return 10 else: return 0 assert réduction(100) == 20 assert réduction(50) == 20 assert réduction(49) == 10 assert réduction(10) == 10 assert réduction(9) == 0 ## Question 3.2 def prix_livraison(prix): prix_l = prix*0.1 # 10% de prix if prix_l > 100: return 100 elif prix_l < 5: return 5 else: return prix_l assert prix_livraison(200) == 20 assert prix_livraison(1000) == 100 assert prix_livraison(1001) == 100 assert prix_livraison(50) == 5 assert prix_livraison(49.5) == 5 ## Question 3.3 def facture(n,p): prix = n*p r = réduction(n) l = prix_livraison(prix) prix_final = prix * (1-r/100)+l print("Prix :",prix,"€") print("Réduction : -",r,"%") print("Coût livrasion :",l,"€ ") print("----------------------") print("Prix total (dont livraison) :",prix_final,"€") facture(11,14) print("\nExercice 4\n") ## Question 4.1 choix_humain = input('quel est ton choix, humain ? ') print('Humain, tu as choisi', choix_humain) ## Question 4.1 if choix_humain=='pierre' or choix_humain=='feuille' or choix_humain=='ciseaux': print('ok') else : print('choix incorrect, je choisis pour toi...') ## Question 4.3 from random import randint def choix_ordi(): choix = randint(0,2) if choix == 0 : return 'pierre' elif choix == 1 : return 'feuille' else : return 'ciseaux' if choix_humain=='pierre' or choix_humain=='feuille' or choix_humain=='ciseaux': print('ok') else : choix_humain = choix_ordi() print('Choix incorrect, je choisis pour toi : ', choix_humain) ## Question 4.4 choix_ordinateur = choix_ordi() print('Humain :',choix_humain) print('Ordinateur :',choix_ordinateur) """ # Solution 1 if choix_humain == 'pierre' and choix_ordinateur == 'pierre' : print('Vainqueur : égalite') if choix_humain == 'pierre' and choix_ordinateur == 'feuille' : print('Vainqueur : ordi') if choix_humain == 'pierre' and choix_ordinateur == 'ciseaux' : print('Vainqueur : humain') # ... # Et on continue comme ça pour les 6 autres cas. C’est fastidieux # En info, il faut être paresseux et chercher à faire plus simple. """ """ # Solution 2 if choix_humain == 'feuille' : if choix_ordinateur == 'pierre' : print('Vainqueur : humain') if choix_ordinateur == 'feuille' : print('Vainqueur : égalite') if choix_ordinateur == 'ciseaux' : print('Vainqueur : ordi') if choix_humain == 'ciseaux' : ... """ # Solution 3 # Quels sont les trois cas qui font gagner l'être humain ? cas_gagnant_1 = (choix_humain == 'pierre' and choix_ordinateur == 'ciseaux') cas_gagnant_2 = (choix_humain == 'feuille' and choix_ordinateur == 'pierre') cas_gagnant_3 = (choix_humain == 'ciseaux' and choix_ordinateur == 'feuille') if choix_humain == choix_ordinateur : print('Vainqueur : égalite') elif cas_gagnant_1 or cas_gagnant_2 or cas_gagnant_3: print('Vainqueur : humain') else : print('Vainqueur : ordinateur') print('\nExercice 5\n') ## Question 5.1 def essai(prix): pronostic = int(input('Quel est votre pronostic ?')) if pronostic == prix: print('Trop bien !') return True elif pronostic > prix: print('Trop haut !') return False else: print('Trop bas !') return False def juste_prix_essais(n,prix): if n == 0: return False else: tentative = essai(prix) if tentative: return True else: return juste_prix_essais(n-1,prix) # On peut écrire juste_prix_essais de manière plus dense. # À vous de choisir la méthode qui vous semble la plus simple à comprendre. def juste_prix_essais(n,prix): if n == 0: return False else: return essai(prix) or juste_prix_essais(n-1,prix) def juste_prix(): prix = randint(0,100) trouvé = juste_prix_essais(7,prix) if trouvé: print('Gagné !') else: print('Essais épuisés, perdu, la valeur était', prix,trouvé) juste_prix() ## Question 5.2 ## Question 5.3 def essai_ordinateur(valeur_min, valeur_max): if valeur_min > valeur_max: return False essai = (valeur_min + valeur_max) // 2 print('Je devine', essai) estimation = input() if estimation == '=': return True elif estimation == '+': return essai_ordinateur(essai + 1, valeur_max) else: # estimation == '-' return essai_ordinateur(valeur_min, essai - 1) def juste_prix2(): trouvé = essai_ordinateur(0,100) if not trouvé: print('Tricheur !') juste_prix2()