+ 3
How to make an infinite calculator in python?
How do I fix my code so that the Calculator takes the numbers from the user and adds them up until the user writes "stop". https://code.sololearn.com/cDMR9Y626m5T/?ref=app
10 Réponses
+ 2
Yes. As I already told, it only works for numbers asking infinitely..
And other than input "stop" Or numbers, it will raise error..
Check input :
2
3
stop
It's fine for above
But
2
3
SSS
2
It raise error..
In your case, it asking input again after 10. If no input then it raise error.
See this code :
It uses try catch , works fine for infinite number of input until you enter "stop".. . if you not aware of try-catch, then you need to learn first.
while True :
i =input()
print ("god job(for test)")
try :
print(int(i) + int(i))
except :
if i == "stop": break
+ 4
Sololearn doesn't really support that since i guess they only use one time input.
Try using pydroid3
+ 3
Ok, thanks, but how now to make an endless loop for receiving data from the user? It just doesn't work.
https://code.sololearn.com/cMbv4Ee84RJn/?ref=app
+ 2
I suggest you to make it correct for 1 time.
Then add that code in a infinite loop.
your code has identation errors. Correct it..
input() has a type mistake.
and you are taking number to i but comparing with string.. it's error again.
Your string input is into b variable..
+ 2
Thank you. but I have not studied this try method yet, but thanks for the hint. Good luck to you
+ 2
You're welcome..
+ 1
What did I do wrong again?
https://code.sololearn.com/cVS1ln5yHMb1/?ref=app
+ 1
i =input()
while True:
print("god job(for test)")
if int(i): #here if input is not a number then it raise error, and execution stoped here . if it is a number then its an infinite loop
print (int(i) + int(i))
else i = "stop": # its invalid statement. Are you comparing i with "stop" ? then it must be like
elif i=="stop" : # * use elif *. it wont work here for taking string as input as per your code
#if you assigning then use else : i="stop"
break
#is it passing your first step, taking of numbers? think about it.
+ 1
Its already infinite loop for integer input but converting to int of non-compatibles from string will raise error.
Ex: int("2") is fine, but int("stop") will raise error. So you can't work on single input here. You need another input for string.
If you reverse logic, then it works like :
First compare in if block. then convert in else block . Like :
while True :
i =input()
if i == "stop":
break
else :
print ("god job(for test)")
print (int(i) + int(i))
But if you input other than " Numbers " Or string "stop", it will raise error.
You can do it by try catch block if you want to go by single input..
Or take other input to stop
+ 1
Thank you for your help and solving this problem. As I understand it, everything will work correctly on the pc, just in the application after I entered the data and the first cycle ended (I entered 10), it gives the following error: output. god job (for test) 20. Traceback (most recent call last): File "file0.ru", 1ine 2, in <module> i = input() EOFError: EOF when reading a line
https://code.sololearn.com/cbclzve92G5V/?ref=app