def code(ch): """ch est de type str renvoie un entier naturel""" return ord(ch[0]) + 26 * ord(ch[1]) + 676 * ord(ch[2]) prenom = "TOTO" n = code(prenom) print("Q1 2 pts: n =", n) def nombre_chiffres(x): """x est un entier strictement positif renvoie le nombre de chiffres en base 2 de x""" t = 0 while x != 0: x = x // 2 t = t + 1 return t print("Q2 2 pts: n*nombre_chiffres(n)", n * nombre_chiffres(n)) def nb_chiffres(x): """x est un entier strictement positif renvoie le nombre de chiffres en base 2 de x""" t = 0 while x != 0: x = x // 10 t = t + 1 return t print("ou bien: n*nombre_chiffres(n)", n * nb_chiffres(n)) from math import sqrt, floor def mystere(x): s = x + sqrt(x) return s - floor(s) print("Q3 2 pts: mystere(n)", mystere(n)) def cube(x): c = 0 while c ** 3 < x ** 2: c = c + 1 return c print("Q4 4 pts: cube(n)", cube(n)) def somme(p): s = 0 for i in range(1, p+1): s = s + 1 / i return s print("Q5 4 pts: somme(n)", somme(n)) print("\t 3 pts si:", somme(n)-1/n) def base3(x): """x est un entier strictement positif renvoie l'écriture de x en base 3""" b = "" while x > 0: r = x % 3 x = x // 3 b = str(r) + b return b print("Q6 4 pts: base3(n)", base3(n)) def base3(x): """x est un entier strictement positif renvoie l'écriture de x en base 3""" b = "" while x > 0: r = x % 3 x = x // 3 b = b + str(r) # erreur ici return b print("\t 3 pts si:", base3(n)) def base16(x): """x est un entier strictement positif renvoie l'écriture de x en base 16""" b = "" while x > 0: r = x % 16 x = x // 16 if r < 10: b = str(r) + b else: chiffres = "ABCDEF" b = chiffres[r-10] + b return b print("Q7 2 pts: base16(n)", base16(n))