在 Python 中检查用户输入是否为空

在 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循环。

发表评论