Probleme if/else en python
RésoluUtilisateur anonyme -
Bonjour,
Je suis actuellement entrain de créer un bot discord en python et je veux faire en sorte qu'il donne un calcul et que par apport à la réponse il dira si c'est juste ou pas mais ma fonction if ne marche pas ça envoie toujours sur le else merci d'avance pour vos reponses
@bot.command()
async def calcul(ctx):
print(ctx)
liste = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
N1 = random.randint(1,len(liste))
N2 = random.randint(1,len(liste))
R = N1 + N2
await ctx.send(f"Combien fond {N1} + {N2} ?")
def check(message):
return message.author == ctx.message.author and ctx.channel == message.channel
reponse = await bot.wait_for("message", timeout=10, check=check)
print(reponse.content)
if reponse.content == R:
await ctx.send("Bien joué !")
else:
await ctx.send("Non") - Probleme if/else en python
- Citizen code python avis - Accueil - Outils
- Citizen code python solution ✓ - Forum Python
- If else batch - Forum Autoit / batch
- Citizen Code : Saison 1 Episode 3, difficulté à comprendre - Forum Python
- Python est introuvable - Forum Python
2 réponses
Bonjour
Cette ligne
if reponse.content == R:
veut dire dans la variable reponse, tu cherches le contenu de la variable R, mais dans l'extrait posté tu ne montres pas cette variable.
Existe-t-elle?
A-t-elle une valeur ?
Ne voulais-tu pas dire la lettre R, auquel cas, c'est
if reponse.content == 'R':
qu'il fallait écrire
La variable R existe normalement elle est bien dans l'extrait,ligne 7.
liste = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
N1 = random.randint(1,len(liste))
N2 = random.randint(1,len(liste))
R = N1 + N2
Je voudrais que le bot compare le résultat de l'adition de la variable R et le résultat donner par la personne (reponse.content) mais ça ne fonctionne pas j'ai regarder a plusieurs endroit, même quand c'est le même chiffre dans les deux variable ça ne veut pas marcher
Merci j'ai regardé et c'était bien ça j'ai juste eu ducou a convertir ma chaine en int (ligne15)
@bot.command() async def calcul(ctx): print(ctx) liste = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] N1 = random.randint(1,len(liste)) N2 = random.randint(1,len(liste)) R = N1 + N2 await ctx.send(f"Combien fond {N1} + {N2} ?") def check(message): return message.author == ctx.message.author and ctx.channel == message.channel reponse = await bot.wait_for("message", timeout=10, check=check) print(reponse.content) reponse2 = int(reponse.content) if reponse2 == R: await ctx.send("Bien joué !") else: await ctx.send("Non")