在 Python 中检查用户输入是否为空
Check if user input is Empty in Python
使用if
语句检查用户输入是否为空,例如
if country == '':
. 该input()
函数保证返回一个字符串,因此如果它返回一个空字符串,则用户没有输入值。
主程序
country = input('Where are you from: ') if country == '': print('User input is empty') # ----------------------------------------- # ✅ Prevent user from entering empty input while True: country = input('Where are you from: ') if country != '': print(country) break # ----------------------------------------- # ✅ Using a try/except statement try: num = float(input('Enter your favorite number: ')) print(num) except ValueError: print('Empty input or not a number entered')
第一个示例使用if
语句来检查用户输入是否为空。
我们直接检查用户是否没有输入任何内容。
str.strip()
如果您需要覆盖用户仅输入空白字符的场景,则可以使用该方法。
主程序
country = input('Where are you from: ') if country.strip() == '': print('User input is empty')
str.strip方法返回删除
了前导和尾随空格的字符串副本。
主程序
print(repr(' '.strip())) # 👉️ '' print(repr(' apple '.strip())) # 👉️ 'apple'
第二个示例使用while
循环来不断提示用户,直到他们输入非空值。
主程序
while True: country = input('Where are you from: ') if country.strip() != '': print(country) break
循环一直运行,
while
直到用户输入至少一个非空白字符。在每次迭代中,我们检查用户是否至少输入了一个字符。
如果满足条件,我们使用break
语句退出循环。
break
语句跳出最内层的封闭或
for
循环while
。
您还可以使用一个while
循环来迭代,直到用户输入一个值。
主程序
country = '' while country.strip() == '': country = input('Where are you from: ')
我们使用while
循环进行迭代,直到country
变量不存储空字符串。
输入函数接受一个可选prompt
参数并将其写入标准输出而没有尾随换行符。
然后该函数从输入中读取该行,将其转换为字符串并返回结果。
您还可以使用try/except
语句来处理由于尝试将空字符串转换为整数或浮点数而导致的空输入异常。
主程序
try: num = float(input('Enter your favorite number: ')) print(num) except ValueError: print('Empty input or not a number entered')
如果传递的值无法转换为特定类型或空字符串,则float()
和int()
类引发。ValueError
while
如果您想提示用户直到他们输入有效数字,您可以使用循环。
主程序
num = 0 while True: try: num = int(input("Enter your favorite integer: ")) except ValueError: print("Please enter a valid integer") continue else: print(f'You entered: {num}') break
如果块中的代码try
引发 a ValueError
,则except
块运行,我们使用该continue
语句继续下一次迭代。
该continue
语句继续循环的下一次迭代。
如果用户输入一个有效的数字,try
块运行成功,然后else
块运行,我们使用break
语句退出
while
循环。