~ S'évader de la banalité... Et entrer dans l'imaginaire ! ~
 
AccueilGuelnika, le site de E-m !S'enregistrerConnexion

Partagez | 
 

 La programmation

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1 ... 22 ... 41, 42, 43, 44  Suivant
AuteurMessage
Dragongaze13
Maker de Légende Lv 49
Maker de Légende Lv 49


Nombre de messages : 3882

MessageSujet: Re: La programmation   Ven 17 Juin 2011, 20:59

Oups, excuse-moi, la première ligne c'est "import os", pas de point mais un espace.. ^^'
Revenir en haut Aller en bas
Dragongaze13
Maker de Légende Lv 49
Maker de Légende Lv 49


Nombre de messages : 3882
Age : 19

MessageSujet: Re: La programmation   Sam 18 Juin 2011, 01:16

J'ai rien compris à la fonction "return". hap :noel:
(comment ça: "en même temps il est juste 1h du matin" ?)
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60


Nombre de messages : 10881
Age : 19

MessageSujet: Re: La programmation   Sam 18 Juin 2011, 12:08

Lol t'en es qu'à là ? Boudin boudin

C'est dans une fonction, elle sert à retourner la variable qui a été modifiée dans cette fonction. Par exemple, la fonction int() (je sais pas si tu l'as vue), tu lui envoies un string (une chaîne de caractères) et elle te retourne un integrer (un nombre entier).
Revenir en haut Aller en bas
http://arista.lescigales.org
Dragongaze13
Maker de Légende Lv 49
Maker de Légende Lv 49


Nombre de messages : 3882
Age : 19

MessageSujet: Re: La programmation   Sam 18 Juin 2011, 12:34

Et toi tu me demandes comment empêcher la fenêtre de se refermer alors bon.. xD
Et puis je prends mon temps, je relis plusieurs fois et je teste tout.
Et c'est bon j'ai compris, c'était l'heure sûrement.

Nouvelle solution pour pas que la fenêtre se referme directement plus mieux et sans pause(à mettre au tout début, sur Windows):

Code:
# -*-coding:Latin-1 -*

(pour moi ça marche en tout cas, enfin, elle se referme tout de même à la fin du code)
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60


Nombre de messages : 10881
Age : 19

MessageSujet: Re: La programmation   Sam 18 Juin 2011, 12:46

Oui c'était ça qui manquait en fait, dès qu'il y avait une erreur ça quittait directement.
L'autre astuce c'est de mettre ton programme dans une boucle infinie (while 1:), et de demander à la fin de cette boucle si l'utilisateur veut continuer (il entre Y ou N, comme Yes or No). Dans ce cas, tu break et ça quitte le programme. fan hystérique

C'est trop marrant la prog, hihihi bulle lol
Revenir en haut Aller en bas
http://arista.lescigales.org
Dragongaze13
Maker de Légende Lv 49
Maker de Légende Lv 49


Nombre de messages : 3882
Age : 19

MessageSujet: Re: La programmation   Sam 18 Juin 2011, 15:10

C'est comment pour l'appuie d'une touche ?? ^^'

edit: J'ai du mal.. x)
La fenêtre s'ouvre et se ferme directement.. :/
Code:
import os

while 1:
    print("Entrez une année pour savoir si elle est bissextile ou non:")
    annee = input()
    try:
        annee = int(annee)
    except:
        print("N'entrez que des chiffres !")
        os.system("pause")7

    annee = int(annee)
    if annee%4 != 0:
        print("L'année", annee, "n'est pas bissextile.")
    elif annee%100 == 0:
        if annee%400 == 0:
       print("L'année", annee, "est bissextile.")
        else:
       print("L'année", annee, "n'est pas bissextile.")
    else:
        print("L'année", annee, "est bissextile.")
   
print("Voulez-vous quitter ? O pour oui, N pour non.")
    if == O:
        break
    else == N:
        continue

Et je connais pas la condition pour l'appuie d'une touche alors.. Bricolage.
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60


Nombre de messages : 10881
Age : 19

MessageSujet: Re: La programmation   Sam 18 Juin 2011, 15:32

Syntaxe invalide, t'as écrit os.system("pause")7, enlève le 7 Wink
Ensuite t'as plusieurs problèmes d'indentation...

Edit : tiens j'ai corrigé et complété ton code. Essaie de comparer avec le tiens pour voir où est ce que tu as fais des erreurs Wink

Code:
#Programme servant à déterminer si une année est bissextile ou pas.
while 1:
    print("Entrez une année pour savoir si elle est bissextile ou non:")
    annee = input()
    try:
        annee = int(annee)
    except:
        print("N'entrez que des chiffres !")
    annee = int(annee)
    if annee%4 != 0:
        print("L'année", annee, "n'est pas bissextile.")
    elif annee%100 == 0:
        if annee%400 == 0:
            print("L'année", annee, "est bissextile.")
        else:
            print("L'année", annee, "n'est pas bissextile.")
    else:
        print("L'année", annee, "est bissextile.")
    print("Voulez-vous quitter ? O pour oui, N pour non.")
    quitter = input()
    if quitter == 'o' or quitter == 'O':
        break


Dernière édition par AristA le Sam 18 Juin 2011, 15:42, édité 1 fois
Revenir en haut Aller en bas
http://arista.lescigales.org
coco
Dieu Maker Lv 44
Dieu Maker Lv 44


Nombre de messages : 2979
Age : 22

MessageSujet: Re: La programmation   Sam 18 Juin 2011, 15:41

Une méthode plus propre pour arrêter le programme :
tu ajoute une variable par exemple continuer = 1 avant la boucle principale.
Ta boucle principale sera de la forme : while (continuer )
Et lorsque l'utilisateur essaye de quitter le programme tu change la valeur de continuer par 0. Comme ça s'il y a plusieurs moyen de fermer le programme, tu n'écris qu'une seule fois le code de fermeture (qui sera conséquent quand vous ferez de plus gros programmes ) : après la fin de la boucle angel
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60


Nombre de messages : 10881
Age : 19

MessageSujet: Re: La programmation   Sam 18 Juin 2011, 15:44

Ok ^^
J'imagine que c'est comme True ou False, ce sont les booléens en C, c'est ça ?
Revenir en haut Aller en bas
http://arista.lescigales.org
coco
Dieu Maker Lv 44
Dieu Maker Lv 44


Nombre de messages : 2979
Age : 22

MessageSujet: Re: La programmation   Sam 18 Juin 2011, 15:53

En fait en C++ je sais qu'il y a un type de variable spécial booléen, mais en C on prend une variable normale. Le truc c'est que comme tu as du le comprendre, une condition ou une boucle ne prend que 2 valeurs différentes : faux (0) ou vrai (tous les autres nombres ).

Chaque variable dans une condition est en fait remplacée par sa valeur, donc si tu fais :
Code:
continuer = 1  // on pourrait remplacer 1 par n'importe quel nombre différent de 0
if (continuer)
    blablabla
ça revient à :
Code:
if (1)
    blablabla

En plus, si tu mets un "!" devant la variable dans une condition ou une boucle, vrai correspondra à 0 et faux à toutes les autres valeurs. Ainsi :
Code:
continuer = 0
if (!continuer)
    blablabla
ça revient à :
Code:
if (1)
    blablabla

Ca permet de faire des conditions plus courtes et plus compréhensibles en choisissant bien les noms de ses variables
Revenir en haut Aller en bas
Dragongaze13
Maker de Légende Lv 49
Maker de Légende Lv 49


Nombre de messages : 3882
Age : 19

MessageSujet: Re: La programmation   Sam 18 Juin 2011, 17:47

AristA >> Merci. Very Happy
J'ai rajouté un "continue" après le "N'entrez que des chiffres.". ^^
Par contre le IDLE m'écrivait qu'il y avait une erreur d'indentation devant le premier "else"(il me surlignait un espace) mais il y avait le même nombre d'espaces que toi.. :/

Coco >> Merci, même si c'est pas spécialement pour moi, ça m'aidera sûrement(c'est bien du Python ?). ^^

edit:


Code:
while 1:
    print("Entrez une année pour savoir si elle est bissextile ou non:")
    annee = input()
    try:
        annee = int(annee)
    except:
        print("N'entrez que des chiffres !")
        continue
    annee = int(annee)
    if annee%4 != 0:
        print("L'année", annee, "n'est pas bissextile.")
    elif annee%100 == 0:
        if annee%400 == 0:
            print("L'année", annee, "est bissextile.")
        else:
            print("L'année", annee, "n'est pas bissextile.")
    else:
        print("L'année", annee, "est bissextile.")
    print("Voulez-vous quitter ? O pour oui, N pour non.")
    reponse = input()
    if reponse == 'o' or reponse == 'O':
        break
        exit()
    else:
        continue

Il quitte pas quand je fais "o" ou "O".. :/
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60


Nombre de messages : 10881
Age : 19

MessageSujet: Re: La programmation   Sam 18 Juin 2011, 18:10

Y'a pas les >>> qui apparaissent dans ton IDLE ?
Revenir en haut Aller en bas
http://arista.lescigales.org
Dragongaze13
Maker de Légende Lv 49
Maker de Légende Lv 49


Nombre de messages : 3882
Age : 19

MessageSujet: Re: La programmation   Sam 18 Juin 2011, 18:14

Non.. Oo'

edit: j'ai oublié "import os", non ? x)
edit 2: c'est bon c'est nickel avec "import os".. xD
edit 3: marche pas sur la console mais sur l'IDLE si.. Oo'
Revenir en haut Aller en bas
coco
Dieu Maker Lv 44
Dieu Maker Lv 44


Nombre de messages : 2979
Age : 22

MessageSujet: Re: La programmation   Sam 18 Juin 2011, 18:20

Euh je sais pas si c'est du python vraiment (j'ai essayé de reproduire la syntaxe, mais je connais pas du tout le python ), mais en tout cas c'est une partie de la logique de programmation qu'il faut acquérir Very Happy

____________
Revenir en haut Aller en bas
Dragongaze13
Maker de Légende Lv 49
Maker de Légende Lv 49


Nombre de messages : 3882
Age : 19

MessageSujet: Re: La programmation   Dim 19 Juin 2011, 00:44

Premier vrai TP du SdZ >> Je m'empresse de lire le sujet pour commencer.. <3
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60


Nombre de messages : 10881
Age : 19

MessageSujet: Re: La programmation   Dim 19 Juin 2011, 13:03

C'est le casino ?
Revenir en haut Aller en bas
http://arista.lescigales.org
Dragongaze13
Maker de Légende Lv 49
Maker de Légende Lv 49


Nombre de messages : 3882
Age : 19

MessageSujet: Re: La programmation   Dim 19 Juin 2011, 15:46

Oui. ^
D'ailleurs quand je fais:

Code:
import random
randrange(50)

Rien ne se passe.. :/

Faut faire:

Code:
x = randrange(50)

?
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60


Nombre de messages : 10881
Age : 19

MessageSujet: Re: La programmation   Dim 19 Juin 2011, 15:55

Faut faire x = random.randrange(50) Wink

Sinon à la place de import random tu fais from random import randrange pour pouvoir utiliser x = randrange(50).

N'oublie pas que randrange() est une fonction, et faut capturer dans une variable ce qu'elle retourne. Si elle hérite du module random, faut faire random.randrange quand tu veux l'utiliser Wink (J'ai l'impression de parler chinois c'est horrible)
Revenir en haut Aller en bas
http://arista.lescigales.org
Dragongaze13
Maker de Légende Lv 49
Maker de Légende Lv 49


Nombre de messages : 3882
Age : 19

MessageSujet: Re: La programmation   Dim 19 Juin 2011, 17:59

Merci. ^^
Comment on utilise "ceil" ? On est censé être sur le SdZ quand même. jv.com :noel:
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60


Nombre de messages : 10881
Age : 19

MessageSujet: Re: La programmation   Dim 19 Juin 2011, 18:27

Ben comme n'importe qu'elle fonction, x = math.ceil(x) jv.com :noel:
Faut t'y habituer aux fonctions, elle retourne une valeur à capturer dans une variable et prennent parfois un paramètres Wink
Revenir en haut Aller en bas
http://arista.lescigales.org
coco
Dieu Maker Lv 44
Dieu Maker Lv 44


Nombre de messages : 2979
Age : 22

MessageSujet: Re: La programmation   Dim 19 Juin 2011, 18:35

T'inquiète quand tu aura vu le chapitre des fonctions, tu comprendra Very Happy

Sinon une fonction ne retourne parfois rien (une fonction d'affichage par exemple ) Wink
Revenir en haut Aller en bas
Dragongaze13
Maker de Légende Lv 49
Maker de Légende Lv 49


Nombre de messages : 3882
Age : 19

MessageSujet: Re: La programmation   Dim 19 Juin 2011, 18:37

Merci. ^^
Revenir en haut Aller en bas
Dragongaze13
Maker de Légende Lv 49
Maker de Légende Lv 49


Nombre de messages : 3882
Age : 19

MessageSujet: Re: La programmation   Jeu 23 Juin 2011, 00:24

Pourriez-vous trouver une solution aux deux commentaires(le reste est nickel) ? ^^
Je cherche mais je trouve pas.. Faudrait que j'utilise un try ?
Merci ! Very Happy

Attention à ceux qui ne veulent pas spoiler le TP du SdZ.
Code:
import os
import random
import math
import time

argent=500

while 1:

    if argent <= 0:
        print("Vous n'avez plus d'argent, vous avez perdu.")
        os.system("pause")
        exit()

    print("Vous disposez de", argent,"$.")
    print("Pour commencer à jouer à la roulette, entrez votre mise.")

    mise = input()
    mise = int(mise)

    if mise>0 and mise==int(mise) and mise<=argent:
        argent = argent - mise
        print("Sur quel numéro voulez-vous miser(min.0, max.49) ?")
    elif mise<=0:
        print("Votre mise doit être supérieure à 0.")
        continue
    elif mise>=argent:
        print("Votre mise doit être égale ou inférieure à votre argent.")
        continue
    elif mise!=int(mise): #probleme: message d'erreur si lettres entrees.
        print("Votre mise ne doit contenir que des chiffres.")
        continue

    numero = input()
    numero = int(numero)

    if numero>=0 and numero<=49 and numero==int(numero):
        print("*le croupier lance la roulette*")
    elif numero<=0 and numero>=49:
        print("Vous devez choisir un numéro allant de 0 à 49.")
        continue
    else: #probleme: message d'erreur si lettres entrees.
        print("Le numero ne peut contenir que des chiffres.")
        continue

    time.sleep(1)
    hasard = random.randrange(50)
    numero = numero%2
    print("Le numéro gagnant est le", hasard, "!")

    time.sleep(1)

    if numero == hasard:
        print("Félicitations ! Vous gagnez 3 fois votre mise, soit", mise*3, "!")
        gain = mise*3
        gain = math.ceil(gain)
        argent = argent + gain

    elif numero == 0:
        hasard = hasard%2
        if hasard == 0:
            print("Vous gagnez 50% de votre mise car la couleur du numéro gagnant est la même que celle du numéro choisi.")
            mise = mise/2
            mise = math.ceil(mise)
            argent = argent + mise
        else:
            print("Dommage, vous n'avez rien gagné...")

    elif numero != 0:
        hasard = hasard%2
        if hasard != 0:
            print("Vous gagnez 50% de votre mise car la couleur du numéro gagnant est la même que celle du numéro choisi.")
            mise = mise/2
            mise = math.ceil(mise)
            argent = argent + mise
        else:
            print("Dommage, vous n'avez rien gagné...")
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60


Nombre de messages : 10881
Age : 19

MessageSujet: Re: La programmation   Ven 24 Juin 2011, 01:02

Tu dois faire un except TypeError: Wink
Si tu es bloqué, n'hésite pas à regarder quelques bribes de la solution... Ça aide beaucoup !
Revenir en haut Aller en bas
http://arista.lescigales.org
pouale
RTP de base Lv 1
RTP de base Lv 1


Nombre de messages : 14
Age : 20

MessageSujet: Re: La programmation   Sam 25 Juin 2011, 13:32

Ce topic fait 42 pages. Coincidence? Je ne crois pas.
Revenir en haut Aller en bas
AristA
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60


Nombre de messages : 10881
Age : 19

MessageSujet: Re: La programmation   Dim 26 Juin 2011, 23:17

J'ai fais un super programme (comme à mon habitude... :doute2). Je vous laisse deviner à quoi il sert (lol). Désolé de pas avoir "documenté" mes fonctions, j'avais la flemme. À savoir que ça marche mieux dans l'IDLE de Python.
Code:
# -*- coding:Latin-1 -*-
from random import randrange
choix = ["Nemau", "Kilam (lol)", "Fistantilus"]
insultes = ["sent pas bon", "est un gros caca", "craint à mort", "est useless",
            "est haït par tous", "devrait s'acheter une vie", "est pourri"]
print("INSULTIZATIRATISEUR de AristA, phoque hell yeah.")
def daInput():
    selec = input()
    try:
        selec = int(selec)
    except:
        print("P'tin mais faut un nombre toi.")
        return daInput()
    if selec < len(choix)+1 and selec > 0:
        return selec-1
    else:
        print("Faut un nombre qui est DANS ces trucs")
        return daInput()
def newName(nom):
    choix.append(nom)
    return choix
def newInsulte():
    print("Entrez votre insulte sous la forme d'une phrase dont il manque un sujet au début.\nEx : 'est un exemple'")
    newInsulte = input()
    insultes.append(newInsulte)
    return insultes
while 1:
    i = 0
    for c in choix:
        i += 1
        print ("{0}.) Insulter {1}".format(i, c))
    selec = daInput()
    print("{0} {1}.".format(choix[selec], insultes[randrange(len(insultes))])) #lol
    print("\nQ : Quitter \n_INSULTE_ : Apprendre une insulte \nNe rien entrer : Continue \nEntrer autre chose : l'apprend en tant que nouveau nom.")
    reponse = input()
    if reponse.capitalize() == "Q":
        break
    elif reponse == "_INSULTE_":
        insultes = newInsulte()
    elif reponse != "" and reponse != " " and reponse != "\n":
        choix = newName(reponse)
    else:
        pass
Le .py pour les fainéants. (Nécessite Python 3.2)

Voualat, j'attends vos remarques.

D'accord je vais me cacher
Revenir en haut Aller en bas
http://arista.lescigales.org
Contenu sponsorisé




MessageSujet: Re: La programmation   Aujourd'hui à 13:30

Revenir en haut Aller en bas
 
La programmation
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 42 sur 44Aller à la page : Précédent  1 ... 22 ... 41, 42, 43, 44  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
E-magination :: LE VILLAGE ~ Forums de la communauté et de discussions ~ :: La Taverne-
Sauter vers: