Jump to content

[Info S7] Mélanger les "str" et les "int"


mitochondrie31
Go to solution Solved by Sans-Visage,

Recommended Posts

Salut !

 

Je ne comprends pas trop pourquoi quand je mets ça :

return "[" + "(" + encadrer(n-2, Nbr) + ")" + "]"

... le programme fonctionne nickel...

 

alors que quand je mets ça :

return "(" + teteatoto(n-1) + "+" + teteatoto(n-1) + ")"

il me dit

image.png.7e4fd1b2adf0ee8b8e69827557693844.png

(je précise que le prof fait exactement le même programme avec la même expression et ça fonctionne correctement pour lui)

 

Si quelqu'un trouve le temps et la patience de me l'expliquer, je lui en serai reconnaissante ! 🐍😍

 

Voici les programme, si il y a besoin :
 

Révélation

 

Celui qui semble marcher pour le prof mais pas pour moi(Tête à toto niv 2*)

from printer import *

def teteatoto(n):
    if n==0:
        return "0"
    return "(" + teteatoto(n-1) + "+" + teteatoto(n-1) + ")"
    
n=input()
print("0 = " + teteatoto(n))

 


 

Révélation

 

Celui qui veut bien fonctionner (Nombre encadré 3*)

Nbr=input()
n=int(Nbr)
def encadrer(n,Nbr):
    if n>=0:
        if n==1:
            return "[" + encadrer(n-1, Nbr) + "]"
        if n==0:
            return(Nbr)
        return"[" + "(" + (encadrer(n-2, Nbr))+ ")" +"]"
print(encadrer(n,Nbr))

 

 

Edited by mitochondrie31
Link to comment
Share on other sites

  • Ancien du Bureau
  • Solution

Hello !

 

Le 19/02/2021 à 18:36, mitochondrie31 a dit :

from printer import *

def teteatoto(n):
    if n==0:
        return "0"
    return "(" + teteatoto(n-1) + "+" + teteatoto(n-1) + ")"
    
n=input()
print("0 = " + teteatoto(n))

 

Je pense que le soucis vient de n=input(), comme tout ce qui sort de "input" est automatiquement un "string", je pense qu'il faut que tu fasses soit " n=int(input())" soit "teteatoto(int(n))" :)

Link to comment
Share on other sites

il y a 14 minutes, DuTACKauTac a dit :

Je pense que le soucis vient de n=input(), comme tout ce qui sort de "input" est automatiquement un "string", je pense qu'il faut que tu fasses soit " n=int(input())" soit "teteatoto(int(n))" :)

C'est bon, j'ai modifié mon programme, c'était bien ça ! Merci beaucoup !! 😊

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...