python 优雅处理用户输入

嘿,大家好!今天我想分享一点编程小技巧,特别是对于那些程序需要用户输入的情况。我们都知道,用户输入的内容有时候会让人摸不着头脑,比如应该输入数字的地方输入了文字。如果我们的程序处理不好,很容易就崩溃了。那怎么办呢?让我们一起看看。

简单又实用:循环+异常处理

首要的事情,我们得让程序变得更加健壮,即使面对用户的非预期输入也能稳稳地运行。这里有个简单但非常实用的办法:结合使用循环和异常处理。

示例1:询问年龄

想象一下,如果我们想让用户告诉我们他们的年龄,代码可能是这样的:

while True:
    try:
        age = int(input("你几岁了?"))
        if age < 0:
            print("年龄不能是负数,别闹了,重新来。")
            continue
        break
    except ValueError:
        print("嗨,得输入一个数字噢!")

这段代码会一直循环,直到用户输入了一个有效的年龄数字。我们甚至加了点逻辑来排除负数的情况。

示例2:复杂一些的输入验证

但有时候,我们的需求可能不只是简单的数字输入。比如,我们想要用户输入他们的邮箱地址,这就需要更复杂一些的验证了:

import re

while True:
    email = input("告诉我你的邮箱:")
    if re.match(r"[^@]+@[^@]+\.[^@]+", email):
        break
    else:
        print("这邮箱格式不对噢,请重新输入。")

这里我们用了正则表达式来检查邮箱的格式是否正确。只有当用户输入了格式正确的邮箱,循环才会结束。

更进一步:自定义验证函数

有时候,我们的验证逻辑可能更复杂,分散在各处会让代码难以维护。这时,我们可以将验证逻辑封装成函数。

def is_valid_email(email):
    return re.match(r"[^@]+@[^@]+\.[^@]+", email)

while True:
    email = input("你的邮箱是什么?")
    if is_valid_email(email):
        print("邮箱格式正确!")
        break
    else:
        print("邮箱格式似乎不太对,再试试?")

这样做的好处是,我们的主循环看起来更简洁,而所有复杂的逻辑都被隐藏在了is_valid_email函数里面。

结语

通过这些简单的技巧,我们可以让我们的程序在处理用户输入时变得更加健壮和友好,希望这篇小分享对你有所帮助,让我们一起写出更酷的代码吧!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值