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