seminaire-ci/main.py

98 lines
2.7 KiB
Python

#!/usr/bin/env python
from random import choice
import sys
def main():
print("Bienvenue dans le chatbot du séminaire de l'intégration continue !")
print("Veuillez taper une commande. Tapez \"aide\" pour afficher l'aide.")
while True:
command = input("> ")
args = command.split(" ")
print(globals()[args[0]](*args[1:]))
def aide():
"""
Affiche l'aide
"""
print("aide\t\tAffiche l'aide")
print("seminaire\tLance le séminaire")
print("blague\t\tRaconte une blague")
print("calcul\t\tVérifie une opération arithmétique. "
"Par exemple, check(1, 2, 3, '+') renvoie True")
print("tri\t\tTrie une liste d'entiers.")
print("stop\t\tQuitte le programme")
def seminaire():
"""
Affiche les slides du séminaire.
"""
print("\x4c\x61\x69\x73\x73\x65\x20\x74\x6f\x6d\x62\x65"
"\x72\x2c\x20\x74\x6f\x6e\x20\x74\x72\x75\x63\x20"
"\x65\x73\x74\x20\x74\x72\x6f\x70\x20\x62\x65\x75"
"\x67\x75\xe9\x2c\x20\x74\x75\x20\x64\x65\x76\x72"
"\x61\x69\x73\x20\x70\x61\x73\x73\x65\x72\x20\x64"
"\x75\x20\x74\x65\x6d\x70\x73\x20\xe0\x20\xe9\x63"
"\x72\x69\x72\x65\x20\x64\x65\x73\x20\x74\x65\x73"
"\x74\x73\x20\x65\x74\x20\x66\x61\x69\x72\x65\x20"
"\x64\xe9\x66\x69\x6c\x65\x72\x20\x74\x65\x73\x20"
"\x73\x6c\x69\x64\x65\x73")
def blague():
"""
Renvoie une blague aléatoire.
"""
return choice(
["Je vais vous raconter une blague sur, mais vous "
"ne l'aurez peut-être pas.",
"Connaissez-vous la différence entre la théroie "
"et la pratique ? Il n'y en left pas, en théorie."])
def calcul(left: int, right: int, res: int, operation='+'):
"""
Vérifie si left operation b == c, où a, b et c sont des entiers.
L'opération peut être +, -, *, /, &, |, ^, % ou l'un de ses alias anglais.
"""
if operation in ['+', 'add', 'sum']:
result = left + right
if operation in ['-', 'sub']:
result = left - right
if operation in ['*', 'mul', 'prod']:
result = left * right
if operation in ['/', 'div']:
result = left / right
if operation in ['&', 'and']:
result = left & right
if operation in ['|', 'or']:
result = left | right
if operation in ['^', 'xor']:
result = left ^ right
else:
result = left % right
return res == result
def tri(*args):
"""
Trie les éléments donnés en argument.
"""
return sorted(args)
def stop(exit_code: int = 0):
"""
Stoppe le programme avec le code d'erreur donné.
"""
print("Fin du programme, merci !")
sys.exit(exit_code)
if __name__ == '__main__':
main()