首页/文章/ 详情

通过案例学Python之assert

5月前浏览3192

定义一个商品打折的函数:







## 商品打折函数,price为原价, discount为折扣,new_price为打折后的价格def dazhe(price, discount):    new_price = price * ( 1.0 - discount )                               assert  0 <= new_price <= price    return new_price

注意函数中有assert语句,当调用函数



print( dazhe(100, 0.5) )

输出结果为50,符合预期。如果是



print( dazhe(100, 2) )

则触发了AssertionError








Traceback (most recent call last):  File "C:\Users\springer\Desktop\if.py", line 7, in <module>    print( dazhe(100, 2) )  File "C:\Users\springer\Desktop\if.py", line 4, in dazhe    assert  0 <= new_price <= priceAssertionError

参数discount会出现无效的情况,比如大于1。程序没有语法及逻辑错误,这是个不太容易发现的问题。设置assert之后,从AssertionError可以轻松发现问题所在位置,这大大加快了程序调试工作。

断言和异常的区别 

Python的断言是一种辅助调试功能,不是用来处理运行时错误的机制,使用assert的目的是让开发者更快地知道程序bug的原因,从而节省调试时间。断言不能滥用,更不能设置无效的断言。


学习编程是个长期的过程,网上那些快速成功的案例并不是常态,它给我们呈现的只是结果,而不是那之前漫长而乏味的过程。谁都会有感到枯燥的时候,一个问题久攻不下难免的,问题是你能否换其他事情平静之后再回过头来继续你之前枯燥的事情,如果还觉得枯燥那可能是你真的就不喜欢,如果可以继续那就继续!


来源:数值分析与有限元编程
UGpython
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-04-02
最近编辑:5月前
太白金星
本科 慢慢来
获赞 4粉丝 8文章 316课程 0
点赞
收藏
作者推荐

通过案例学Python之判断属相

本文摘要(由AI生成):本文介绍了中国传统文化中的十二生肖,并通过Python编程实践展示如何根据年份计算对应生肖。文章强调了学习编程的重要性,提醒读者学习编程需要耐心和毅力。通过学习如何计算生肖,读者可以了解中国文化并提升编程技能,文章对促进文化交流和个人技能提升具有参考价值。1 概述十二生肖,又叫属相,是中国与十二地支相配以人出生年份的十二种动物,包括鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪。十二生肖以十二年为周期分配不同的动物, 一个十二年的周期是如下表所示。2001年是蛇年,2013年是另一个蛇年,2008年是鼠年,2020年是另一个鼠年。2 算法实现将某一年份与12作求余运算。若余数为0,则该年份为猴年;若余数为11,则该年份为羊年。编写一个程序,从用户那里读取一年并显示对应的属相。程序应在任何年份都能正常运行,而不仅仅是表中列出的那些。python代码如下:year = int( input(&quot;输入一个年份: &quot;) )if year % 12 == 8: animal = &quot;龙&quot;elif year % 12 == 9: animal = &quot;蛇&quot;elif year % 12 == 10: animal = &quot;马&quot;elif year % 12 == 11: animal = &quot;羊&quot;elif year % 12 == 0: animal = &quot;猴&quot;elif year % 12 == 1: animal = &quot;鸡&quot;elif year % 12 == 2: animal = &quot;狗&quot;elif year % 12 == 3: animal = &quot;猪&quot;elif year % 12 == 4: animal = &quot;鼠&quot;elif year % 12 == 5: animal = &quot;牛&quot;elif year % 12 == 6: animal = &quot;虎&quot;elif year % 12 == 7: animal = &quot;兔&quot;print( &quot;%d 年是 %s&quot; % (year, animal) + &quot;年&quot; ) 输入2021得到的结果是:学习编程是个长期的过程,网上那些快速成功的案例并不是常态,它给我们呈现的只是结果,而不是那之前漫长而乏味的过程。谁都会有感到枯燥的时候,一个问题久攻不下难免的,问题是你能否换其他事情平静之后再回过头来继续你之前枯燥的事情,如果还觉得枯燥那可能是你真的就不喜欢,如果可以继续那就继续!来源:数值分析与有限元编程

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈