Boolean Logic Question | Sololearn: Learn to code for FREE!
Novo curso! Todo programador deveria aprender IA generativa!
Experimente uma aula grƔtis
0

Boolean Logic Question

I am getting 6 out of 7 tests right but I cant see the final hidden test, what am I missing here? purity = float(input()) if (purity == 99.99): print("24K") else: if(purity <= 99.98 and purity >= 91.70): print("22K") else: if(purity <= 91.69 and purity >= 83.30): print("20K") else: if(purity <= 83.29 and purity >= 75.00): print("18K") else: if(purity < 74.99): print()

27th Oct 2021, 4:00 AM
Sam Waters
Sam Waters - avatar
7 Respostas
+ 1
24K is from 99.9 not 99.99
28th Oct 2021, 12:13 AM
Angelo
Angelo - avatar
+ 2
You're leaving huge gaps beetwen an if and the next (e.g.: from 99.98 and 99.99). You can just get rid of them (purity<=99.98 etc.), as they're already handled by 'else' Also, it's better to avoid checking for float equivalence P.S.: there is a wonderful keyword called 'elif', try it
27th Oct 2021, 7:54 AM
Angelo
Angelo - avatar
0
Did it ask you to output anything if purity is less than 74.99
27th Oct 2021, 4:46 AM
Tim
Tim - avatar
0
Terel Schmitt it asked to output nothing if it was less than 74.99
27th Oct 2021, 4:47 AM
Sam Waters
Sam Waters - avatar
0
Sam Waters Try replacing ā€œprint()ā€in the last line with ā€œpassā€, so it won't output anything and you won't get EOF error
27th Oct 2021, 4:49 AM
Tim
Tim - avatar
0
I tried elif and it gave me an error, I still need to understand that a little more how to finish the line with elif I think. I changed my formula to; if(purity < 99.99 and purity >= 91.70): print("22K") that should eliminate any gap between the 24k at 99.99 and the 22k which is less then 99.99 but not equal to it. I added pass and it did not solve test 7 (hidden still). here is the question I am stuck on; Now that we know how to combine multiple conditions, letā€™s improve our gold purity checker program and output the corresponding purity level in Karats! Here is the purity chart weā€™ll be using: 24K ā€“ 99.9% 22K ā€“ 91.7% 20K ā€“ 83.3% 18K ā€“ 75.0% If the percentage is between 75 and 83.3, the gold is considered to be 18K. If it's between 83.3 and 91.7, then itā€™s 20K, and so on. Given the percentage as input, output the corresponding Karat value, including the letter K. Sample Input: 92.4 Sample Output: 22K Do not output anything if the percentage is lower than 75%.
27th Oct 2021, 1:01 PM
Sam Waters
Sam Waters - avatar
0
wow thanks for that, ill try to do with elifs now. incredibly grateful for the help.
28th Oct 2021, 12:15 AM
Sam Waters
Sam Waters - avatar