Novo curso! Todo programador deveria aprender IA generativa!
Experimente uma aula grƔtis0
Even And Odd function #python
def evenAndOdd(y): for x in range(1,y): if (x%2==0): e+=1 elif: o+=1 ttuple =(o,e) return ttuple print(evenAndOdd(16)) it says if (x%2==0): ^ IndentationError: expected an indented block it always shows this intended block, but I don't understand what should I do
4 Respostas
+ 5
The `if` is inside the `for`, so you need to indent it more.
def evenAndOdd(y):
for x in range(1,y):
if(x%2==0):
e+=1
+ 3
Yup that's true! At the beginning of your function you should probably make two variables like
def evenAndOdd(y):
e = 0
odd = 0
...
+ 1
Yep, this is because youāve told your evenAndOdd function to increment your āoddā variable by 1, but youāve not told it where it should start from.
You may think itās common sense to start from 0, but computers donāt possess common sense, so you need something like this...
def evenAndOdd(y):
e,odd = 0,0
for x in range(1,y):
if(x%2==0):
e+=1
if(x%2!=0):
odd+=1
return (odd,e)
... as your function. Note that you need the āreturnā command at the end of the function or else the odds and es are counted up, but then immediately forgotten.
So we would need to say...
ttuple = evenAndOdd(10)
... to save the variable āttupleā as the output of the function.
0
Thanks for your help, now it says odd is not defined;/
def evenAndOdd(y):
for x in range(1,y):
if(x%2==0):
e+=1
if(x%2!=0):
odd+=1
ttuple =(odd,e)
return ttuple