题目五十一
编写一个函数来计算5/0,并使用try/除捕获异常。
提示:
使用“try/except”捕获异常。
代码实现
def devide():
return 5/0
try:
devide()
except ZeroDivisionError as ze:
print("请不输入0作为除数")
except:
print("请重新输入除数")
运行结果
输出结果:
请不输入0作为除数
Process finished with exit code 0
题目五十二
定义一个自定义异常类,它接受字符串消息作为属性。
提示:
要定义自定义异常,我们需要定义从异常继承的类。
代码实现
class CustomException(Exception):
def __init__(self, message):
self.message = message
num = int(input("请输入数字:"))
try:
if num < 10:
raise CustomException("输入小于10")
elif num > 10:
raise CustomException("输入大于10")
except CustomException as ce:
print("错误: " + ce.message)
运行结果
输出结果:
请输入数字:100
错误: 输入大于10
题目五十三
假设我们有一些“username@companyname.com”格式的电子邮件地址,请编写程序来打印给定电子邮件地址的用户名。
用户名和公司名称都仅由字母组成。示例:如果给出以下电子邮件地址作为程序的输入:
john@google.com
则输出为:
john
如果向问题提供了输入数据,则应假定为控制台输入。
提示:
使用\w来匹配字母。
代码实现
方法一:利用对@的检测,将e-mail的域名和用户名分开,进行输出
user_name = []
while True:
email1 = input("请输入邮件地址:").split("@")
if not email1[0]:
break
user_name.append(email1[0])
print(user_name)
方法二:\w匹配字母
import re
email = "john@google.com elise@python.com"
pattern = "(\w+)@\w+.com"
ans = re.findall(pattern, email)
print(ans)
运行结果
方法一:
请输入邮件地址:john@google.com
请输入邮件地址:elise@python.com
请输入邮件地址:
['john', 'elise']
方法二:
['john', 'elise']