I want to do user input in python which is similar to getchar() function used in c++.
c++ code:
#include<bits/stdc++.h>
using namespace std;
int main()
{
char ch;
while(1){
ch=getchar();
if(ch==' ') break;
cout<<ch;
}
return 0;
}
Input: stack overflow
Output: stack
In the above code, when a space input from the user than the loop breaks. I want to do this in python using getchar() type function as I used in c++ code.
Easiest method:
Just use split function
a = input('').split(" ")[0]
print(a)
Using STDIN:
import sys
str = ""
while True:
c = sys.stdin.read(1) # reads one byte at a time, similar to getchar()
if c == ' ':
break
str += c
print(str)
Using readchar:
Install using pip install readchar
Then use the below code
import readchar
str = ""
while(1):
c = readchar.readchar()
if c == " ":
break
str += c
print(str)
Something like this should do the trick
ans = input().split(' ')[0]
msvcrt
provides access to some useful capabilities on Windows platforms.
import msvcrt
str = ""
while True:
c = msvcrt.getch() # reads one byte at a time, similar to getchar()
if c == ' ':
break
str += c
print(str)
msvcrt
is a built-in module, you can read more about in the official documentation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With