web-dev-qa-db-fra.com

Existe-t-il une fonction intégrée dans Python 3 comme getchar () en C ++?

Je veux faire une entrée utilisateur dans python qui est similaire à la fonction getchar () utilisée en c ++.

code c ++:

#include<bits/stdc++.h>

using namespace std;
int main()
{
char ch;
while(1){
    ch=getchar();
    if(ch==' ') break;
    cout<<ch;
}
return 0;
}

Entrée: débordement de pile

Sortie: pile

Dans le code ci-dessus, lorsqu'un espace est entré par l'utilisateur, la boucle se rompt. Je veux le faire dans python en utilisant getchar () type fonction comme je l'ai utilisé dans le code c ++.

7
milton.

Méthode la plus simple:

Utilisez simplement la fonction split

a = input('').split(" ")[0]
print(a)

Utilisation de 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)

Voir cela en action ici

Utilisation de readchar:

Installez à l'aide de pip install readchar

Utilisez ensuite le code ci-dessous

import readchar
str = ""
while(1):
    c = readchar.readchar()
    if c == " ":
        break
    str += c
print(str)
6
CodeIt

ans = input().split(' ')[0] quelque chose comme ça devrait faire l'affaire

1
Mitchel Paulin