Finish automate modulo 7
This commit is contained in:
parent
7724d0c2ea
commit
a37dd5da2b
1 changed files with 13 additions and 2 deletions
|
@ -8,10 +8,11 @@ def main() -> None:
|
|||
|
||||
print("Fournissez un nombre : ")
|
||||
nombre = input()
|
||||
nb_base10 = int(nombre, 2)
|
||||
if automate_modulo_7(nombre):
|
||||
print(f"{nombre} est multiple de 7")
|
||||
print(f"{nb_base10} est multiple de 7")
|
||||
else:
|
||||
print(f"{nombre} n'est pas multiple de 7")
|
||||
print(f"{nb_base10} n'est pas multiple de 7")
|
||||
|
||||
|
||||
def automate_modulo_7(nombre: str) -> bool:
|
||||
|
@ -28,6 +29,16 @@ def automate_modulo_7(nombre: str) -> bool:
|
|||
]
|
||||
etat_courant = 0
|
||||
|
||||
for chiffre in nombre:
|
||||
if chiffre not in ("0", "1"):
|
||||
raise ValueError(f"{nombre} doit être binaire")
|
||||
etat_courant = etats[etat_courant][int(chiffre)]
|
||||
|
||||
if etat_courant == 0:
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
Loading…
Reference in a new issue