防止 Python 中的空用户输入
Prevent empty user input in Python
为了防止空的用户输入:
- 使用
while
循环迭代,直到用户输入非空字符串。 - 在每次迭代中,检查用户是否没有输入空字符串。
- 如果满足条件,则跳出
while
循环。
主程序
country = '' # ✅ prevents empty input while country == '': country = input('Where are you from: ') print(country) # --------------------------------------------- # ✅ prevents empty input (including whitespace characters) while country.strip() == '': country = input('Where are you from: ') print(country)
第一个示例在用户输入空字符串时不断提示用户。
第二个示例也将空白字符视为空输入。
我们使用while
循环进行迭代,直到country
变量不存储空字符串。
主程序
country = '' while country == '': country = input('Where are you from: ')
如果用户输入的值至少包含 1 个字符,则不再满足条件,我们退出
while
循环。输入函数接受一个可选prompt
参数并将其写入标准输出而没有尾随换行符。
然后该函数从输入中读取该行,将其转换为字符串并返回结果。
如果要防止用户只输入空格,请使用该str.strip()
方法。
主程序
country = '' while country.strip() == '': country = input('Where are you from: ')
str.strip方法返回删除
了前导和尾随空格的字符串副本。
主程序
print(repr(' '.strip())) # 👉️ '' print(repr(' hello '.strip())) # 👉️ 'hello'
循环一直运行,
while
直到用户输入至少一个非空白字符。或者,您可以使用while True
循环。
主程序
while True: country = input('Where are you from: ') if country.strip() != '': print(country) break
在每次迭代中,我们检查用户是否至少输入了一个字符。
如果满足条件,我们使用break
语句退出循环。
break
语句跳出最内层的封闭或
for
循环while
。
确保使用该break
语句,因为它是退出
while True
循环的唯一方法。