Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to fix 'RuntimeError: input(): lost sys.stdin' error in python 3.7

I am practicing some codes and seemingly out of nowhere i have got this error when I ran a very usual piece of code. The problem i am solving takes input, calculates something and gives an output.

I was running it on an online IDE (some coding contest site) and since it wasn't very good(no surprises there!) i decided to run it on the Pycharm Community Edition and then copy paste it over there. Instead of giving me an output, it showed this,

Traceback (most recent call last):
  File "D:\Software\lib\io.py", line 52, in <module>
  File "D:\practice\abc.py", line 1, in <module>
RuntimeError: input(): lost sys.stdin

Process finished with exit code -1073740791 (0xC0000409)

the code i tried to run was this,

tc = int(input())
while tc > 0:
    c = 0
    a = int(input())

    while a > 0:
        print(a % 2)
        if (a % 2 == 0):
            a = a // 2
            c += a
    print(c, "is c")

    tc -= 1

this may or may not be helpful, but i don't know what's wrong.

like image 258
mach3 Avatar asked Apr 29 '26 01:04

mach3


2 Answers

The problem could relate to your code editor / Python window. The QGIS Python console, for example, doesn't have stdin or stdout, so you would get the 'RuntimeError: input(): lost sys.stdin' error if running your code there.

See this post: https://gis.stackexchange.com/questions/343250/error-when-using-input-pyqgis-runtimeerror-input-lost-sys-stdin-qgis-3

like image 123
grego Avatar answered Apr 30 '26 16:04

grego


I was searching solution for same problem . I found this question, so I will leave the solution which worked for my problem to help the other people who has the same issue.

Instead of using input() command I've used sys.argv[1] with this command I provide input for my program from command line like mpirun -n 4 python -m deneme.py 1000000. In this case 1000000 is my input.

like image 30
demirbilek Avatar answered Apr 30 '26 16:04

demirbilek