Aide ! statistique et python

Fermé
longlive - Modifié le 26 avril 2020 à 22:23
yg_be Messages postés 22846 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 juin 2024 - 27 avril 2020 à 08:41
Bonjour,
J'ai besoin d'aide. Je dois créer un programme de statistiques selon le sexe et groupe d'age. j'ai des critères à respecter, mais je ne suis pas capable de stocker les données (couleurs et saisons préférées)

Voici mon codage jusqu'a présent :


# ****** Déclaration de liste ********
sex_ans = list()
sex_ans_hommes = list()
sex_ans_femmes = list()

nolist=['n','N']
yeslist=['o','O']
validerChoix_groupe = list()
validerChoix_saison = list()
validerChoix_couleur = list()
hommes = sex_ans.count('m') + sex_ans.count('M')
femmes = sex_ans.count('f') + sex_ans.count('F')
printemps = validerChoix_saison.count(1)
été = validerChoix_saison.count(2)
automne = validerChoix_saison.count(3)
hiver = validerChoix_saison.count(4)

#********* Listes préférences par sexe *******
féminin_saisons = list()
féminin_couleurs = list()
masculin_saisons = list()
masculin_couleurs = list()

#********* Listes préférences par groupe *******
groupe1_saison = list()
groupe1_saison1 = list()
groupe1_saison2 = list()

groupe1_couleur = list()
groupe2_saison = list()
groupe2_couleur = list()
groupe3_saison = list()
groupe3_couleur = list()
groupe4_saison = list()
groupe4_couleur = list()
groupe5_saison = list()
groupe5_couleur = list()

class Stats():

    def presentation(self):
        print('Bonjour, ce programme a été créé afin de comptabiliser les préférences des participants selon leur sexe et leur âge.\nNous vous demanderons votre sexe, votre âge, votre saison préférée ainsi que votre couleur préférée.')

    def afficherMenuGroupeAge(self):
        print('\nGROUPE D\'ÂGE \n 1 - 5 à 12 ans \n 2 - 13 à 18 ans \n 3 - 19 à 30 ans \n 4 - 31 à 45 ans \n 5 - 46 ans et plus')

    def afficherMenuSaisons(self):
        print('\nSAISONS \n 1 - Printemps \n 2 - Été \n 3 - Automne \n 4 - Hiver')

    def afficherMenuCouleurs(self):
        print('\nCOULEURS \n 1 - Rouge \n 2 - Jaune \n 3 - Bleu')

    def questionAccueil(self):
        print('Voulez-vous entrer des informations pour fins de recherche («o/O» pour oui ou «n/N» pour non): ')

    def saisirEtValiderChoix(self, msgInvite, min, max, nomlist):
        ans = int(input(msgInvite))
        maximum = max+1
        while ans not in range(min, maximum):
            print('ERREUR! Les choix possibles sont entre {} et {} inclusivement.'.format(min, max))
            ans = int(input(msgInvite))
        else:
            if nomlist == 'groupe':
                validerChoix_groupe.append(ans)
            elif nomlist == 'saison':
                validerChoix_saison.append(ans)
            elif nomlist == 'couleur':
                validerChoix_couleur.append(ans)
            return ans

    def saisirEtValiderSexe(self, invite):
        ans = input(invite)
        while ans.lower() not in ('f', 'F', 'm', 'M'):
            print('ERREUR! La réponse DOIT être «f/F» ou «m/M».')
            ans = input(invite)
        while ans.lower() == 'f':
            sex_ans_femmes.append(ans)
            return ans.upper()
        while ans.lower() == 'm':
            sex_ans_hommes.append(ans)
            return ans.upper()

    def saisirEtValiderOuiNon(self, invite):
        ans = input(invite)
        while ans.lower() not in ('o', 'n'):
            print('ERREUR! La réponse DOIT être «o/O» ou «n/N».')
            ans = input(invite)
        if ans.lower() == 'n':
            programme.statstotaux()
            quit()
        else:
            return ans.upper()

    #def afficherStatsHommeFemme(self, hommeSaisons, hommeCouleurs, femmeSaisons, femmeCouleurs):
    #print('Printemps : ')

    #def afficherStatsPourUnGroupe(self, descDuGroupe, groupeSaisons, groupeCouleurs):

    def statstotaux(self):
        hommes = len(sex_ans_hommes)
        femmes = len(sex_ans_femmes)
        total = hommes + femmes
        printemps = validerChoix_saison.count(1)
        été = validerChoix_saison.count(2)
        automne = validerChoix_saison.count(3)
        hiver = validerChoix_saison.count(4)
        rouge = validerChoix_couleur.count(1)
        jaune = validerChoix_couleur.count(2)
        bleu = validerChoix_couleur.count(3)
        print('\nSTATISTIQUES')
        print('Nombre total de répondants : {}'.format(total))
        print('Nombre total d\'hommes : {}'.format(hommes))
        print('Nombre total de femmes : {}'.format(femmes))
        print('\nSAISONS PRÉFÉRÉES \nPrintemps : {} \nÉté : {} \nAutomne : {} \nHiver : {}'.format(printemps, été, automne, hiver))
        print('\nCOULEURS PRÉFÉRÉES \nRouge : {} \nJaune : {} \nBleu : {}'.format(rouge, jaune, bleu))

        print('\nSAISON PRÉFÉRÉE')
        print('Printemps: {}% des hommes, {}% des femmes')
        print('Été: {}% des hommes, {}% des femmes')
        print('Automne: {}% des hommes, {}% des femmes')
        print('Hiver: {}% des hommes, {}% des femmes')

        print('\nCOULEUR PRÉFÉRÉE')
        print('Rouge: {}% des hommes, {}% des femmes')
        print('Jaune: {}% des hommes, {}% des femmes')
        print('Bleu: {}% des hommes, {}% des femmes')

        input('\nAppuyer sur ENTER pour continuer')

        print('\nPRÉFÉRENCES PAR GOUPES D\'ÂGES')
        print('groupe 1: 5 à 12 ans')



#*************** Programme principal **********
programme = Stats()
programme.presentation()
programme.questionAccueil()
ans = input()
while ans.lower() not in ('o','n'):
    print('ERREUR! La réponse DOIT être «o», «O», «n» ou «N».')
    programme.questionAccueil()
    ans = input()
while ans.lower() == 'o':
    programme.saisirEtValiderSexe('Quel est le sexe du répondant («f/F» pour féminin ou «m/M» pour masculin): ')
    programme.afficherMenuGroupeAge()
    programme.saisirEtValiderChoix('Entrez le groupe d\'âge du répondant : ', 1, 5, 'groupe')
    programme.afficherMenuSaisons()
    programme.saisirEtValiderChoix('Entrez la saison préférée du répondant : ', 1, 4, 'saison')
    programme.afficherMenuCouleurs()
    programme.saisirEtValiderChoix('Entrez la couleur préférée du répondant : ', 1, 3, 'couleur')
    programme.saisirEtValiderOuiNon('\nVoulez-vous entrer d\'autres informations pour fins de recherche(«o/O» pour oui ou «n/N» pour non): ')
if ans.lower() == 'n':
    print('Aucun traitement, au revoir !')
    quit()




Configuration: Windows / Chrome 81.0.4044.122


Message modifié par la modération
Pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE

1 réponse

yg_be Messages postés 22846 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 juin 2024 1 473
27 avril 2020 à 08:41
bonjour, as-tu décidé où stocker les données, comment les organiser?
0