Python 3中是否有内置函数,如C ++中的getchar()?

时间:2018-02-16 05:05:34

标签: python c++ input getchar

我想在python中进行用户输入,类似于c ++中使用的 getchar()函数。

c ++代码:

#include<bits/stdc++.h>

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

输入:堆栈溢出

输出:堆栈

在上面的代码中,当用户输入的空间比循环中断时。 我想在python中使用 getchar()类型函数在c ++代码中使用它。

4 个答案:

答案 0 :(得分:2)

最简单的方法:

只需使用拆分功能

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

使用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)

在行动here

中查看此内容

使用readchar:

使用pip install readchar

安装

然后使用以下代码

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

答案 1 :(得分:1)

ans = input().split(' ')[0]这样的事情可以解决问题

答案 2 :(得分:1)

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是一个内置模块,您可以在official documentation中了解更多信息。

答案 3 :(得分:0)

Python 3 解决方案:

a = input('')        # get input from stdin with no prompt
b = a.split(" ")     # split input into words (by space " " character)
                     # returns a list object containing individual words
c = b[0]             # first element of list, a single word
d = c[0]             # first element of word, a single character
print(d)

#one liner
c = input('').split(" ")[0][0]
print(c)