Quiero hacer una entrada de usuario en python, que es similar a la función getchar () utilizada en c ++.
codigo c++:
#include<bits/stdc++.h> using namespace std; int main() { char ch; while(1){ ch=getchar(); if(ch==' ') break; cout<<ch; } return 0; }Entrada: desbordamiento de pila
Salida: pila
En el código anterior, cuando una entrada de espacio del usuario se rompe el bucle. Quiero hacer esto en python usando la función de tipo getchar () como lo usé en el código c ++.
Método más fácil:
Solo usa la función de división
a = input('').split(" ")[0] print(a)Usando 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)Usando readchar:
Instalar usando pip install readchar
Luego usa el siguiente código
import readchar str = "" while(1): c = readchar.readchar() if c == " ": break str += c print(str)Algo como esto debería hacer el truco
ans = input().split(' ')[0]msvcrt brinda acceso a algunas capacidades útiles en plataformas Windows .
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 es un módulo incorporado, puede obtener más información en la documentación oficial .