What's wrong on my code that i dont get output? | SoloLearn: Learn to code for FREE!

+2

# What's wrong on my code that i dont get output?

score1 = int(input()) score2 = int(input()) #your code goes here x= score1 + score2 y= x / 2 if y == range (90,100): print ("50%") elif y == range (80,80): print ("30%") elif y == range (70,79): print ("10%") elif y == range (0,69): print ("0%")

11/25/2020 3:58:58 PM

Carlos Eduardo Marquez

+11

I don't know the exact conditions of the code challenge, but this should work: score1 = int(input()) score2 = int(input()) #your code goes here x= score1 + score2 y= x / 2 if y >= 90: print ("50%") elif y in range(80,90): print ("30%") elif y in range(70,80): print ("10%") else: print ("0%")

+8

Use 'in' instead of '==' or better '>' and '<' First condition: if y >= 90: print("50%") Last should just be "else:"

+8

Carlos Eduardo Marquez use int() for getting values in integer

+7

Carlos Eduardo Marquez nope 🤦🏻 Like : print(int(float(5/2)) It will return the output in integer no. Not in float

+5

The return type of range func is not int . https://code.sololearn.com/cHNo7HnU618I/#py You can see it prints range(0,4) not the number. So when you compares with y with range () func ,it will always give result false .So the if and elif statement will not work. NotAPyhonNinja has showed how to do that. You can follow that. You can also follow mine: https://code.sololearn.com/c4nFyzUOyDcM/#py

+3

score1 = int(input()) score2 = int(input()) #your code goes here x= score1 + score2 y= x / 2 if y == range (90,100): print ("50%") elif y == range (80,80): print ("30%") elif y == range (70,79): print ("10%") else: print ("0%") In last line u have to use else statement that's it Happy coding 🙃

+2

Now I know the "in" was missing and the == was wrong. I got it to work with the >= and <= but wanted to get it also with the range or correct said in range !!! Thanks a lot you all for your help. It have been a long and frustrating sometimes trip but im getting better at it thanks to all the people that takes the time to help and explain 🤗 great community here in Sololearn

+1

What about float numbers? I get an error now because some results are float instead of integer. For example 151/2= 75.1... why is this not recognized in the range?

+1

Ðipănjalï like: if y== range int(80,89): Or what do you mean?

+1

Here is the version using range. Also included is some testing. Posting code without testing is always dangerous and a lot of erroneous codes were posted here https://code.sololearn.com/cuI97szeUe8U/?ref=app Important things to note: - Use 101 as upper limit since it is excluded - Use integer division (//). All variables are int. For scores 50 and 51 it will be 50, not 50.5. More important for 90 and 89 it will be 89 and thus "30%", not "50%" - "50%" is the highest result as taken from the original question

+1

If after all the suggestions above the challenge still says you've failed, try removing "%" from your print statements. One of the conditions of the challenge in the Python course was to exclude "%" from your output

+1

Thank you all, sometimes the challenges have stuff that have been not teached get but with this Q&A page i m filling the holes 👍👍

0

NotAPythonNinja is it possible to program the float to change to int automatically like: If y = float : Change to int Else: Pass Or something like that i just wake up and I'm using my imagination to solve this 🤣🤣 LOL and I'm guessing also that this lines would have to be after the input to be able to work on the results righ?

-2

What's wrong on my code that i dont get output? score1 = int(input()) score2 = int(input()) #your code goes here x= score1 + score2 y= x / 2 z=int(y) if z in range (90,100): print ("50%") elif z in range (80,89): print ("30%") elif z in range (70,79): print ("10%") elif z in range (0,69): print ("0%")