Bootstrap

Python 读取用户输入的单个字符

Python 程序中一个最常见最简单的任务是读取用户的输入。Python 提供了多种读取输入的方法,在本文中,我们将重点介绍从用户那里读取单个字符的输入。

在 Python 中,可以使用内置函数 input() 读取用户输入。默认情况下,此函数将整行的输入读取为字符串。但是,如果我们想只读取单个字符,只允许用户输入单个字符,该如何实现呢?

利用字符串索引法

使用内置函数 input() 读取用户输入返回字符串。如果用户输入了多个字符,利用字符串的索引功能来访问字符串的第一个字符。

input_string = input("请输入单个字符:")
char = input_string[0]
print("你的输入是:", char)

# 运行结果
请输入单个字符:abc
你的输入是: a

那么,我们可以使用字符串索引读取用户输入的任意一位字符。

n = -1
char = input("请输入单个字符:")[n]
print("你的输入是:", char)

# 运行结果
请输入单个字符:abc
你的输入是: c

判断是否有效的输入

读取用户输入时,对用户提供的输入进行判断,如果输入多个字符,使用循环反复提示用户,直到提供有效的输入。

利用循环来提示用户输入,使用 len() 函数检查输入字符串的长度,如果长度等于 1,表示是单个字符,则跳出循环。否则,将显示一条错误消息并继续循环,直到用户提供有效的输入。

while True:
    char = input("请输入单个字符:")
    if len(char) == 1:
        break
    else:
        print("无效输入,请输入单个字符。")
print("你的输入是:", char)

# 运行结果
请输入单个字符:aaa
无效输入,请输入单个字符。
请输入单个字符:ddd
无效输入,请输入单个字符。
请输入单个字符:a
你的输入是: a

仅接受来自用户输入的单个字母,可以使用 str.isalpha() 进行判断。

while True:
    char = input("请输入单个字母:")
    if len(char) == 1 and char.isalpha():
        break
    else:
        print("无效输入,请输入单个字母。")
print("你的输入是:", char)

# 运行结果
请输入单个字母:1
无效输入,请输入单个字母。
请输入单个字母:abc
无效输入,请输入单个字母。
请输入单个字母:a
你的输入是: a
;