还剩58页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
条件判断语句if欢迎来到条件判断if语句的精彩世界!在本演示中,我们将一起探索编程中至关重要的概念——条件判断条件判断是程序根据不同情况做出决策的关键通过学习if语句,你将能够编写出更加灵活和智能的程序让我们一起开始这段激动人心的学习之旅!课程目标理解条件判断的概掌握if语句的基本学会使用if语句解念结构决实际问题了解条件判断在程序中学习if语句的语法规则通过实际案例,掌握如的作用和意义,它是如,包括条件表达式和语何运用if语句解决编程何让程序具有智能决策句块的组成中的各种问题,例如数能力的值比较、逻辑判断等什么是条件判断?程序中的决策过程根据条件选择执行路径条件判断是程序根据给定的条件,选择不同的执行路径的过程条件判断通过检查一个条件表达式的真假,来决定执行哪一段代就像我们在生活中做决策一样,程序也会根据不同的情况采取不码如果条件为真,则执行某个语句块;如果条件为假,则执行同的行动另一个语句块或跳过该语句块条件判断的重要性1增加程序的灵活性条件判断使得程序能够根据不同的输入或状态,做出不同的响应,从而增加了程序的灵活性和适应性2实现逻辑控制和分支条件判断是实现程序逻辑控制和分支结构的基础通过条件判断,程序可以实现复杂的逻辑,例如根据用户输入执行不同的操作,或者根据不同的条件选择不同的算法语句的基本结构ifif条件:语句块这是if语句最简单的结构首先是关键字if,后面跟着一个条件,条件表达式的结果必须是布尔值(True或False)条件后面是一个冒号:,表示if语句块的开始语句块是需要执行的代码,它必须相对于if语句有缩进通常使用4个空格作为缩进如果条件为真(True),则执行语句块中的代码;如果条件为假(False),则跳过语句块语句的执行流程if条件为True时执行语句块当if语句中的条件表达式的结果为True时,程序会执行紧跟在if语句后面的语句块条件为False时跳过语句块当if语句中的条件表达式的结果为False时,程序会跳过if语句后面的语句块,继续执行后面的代码条件表达式比较运算符比较运算符用于比较两个值的大小关系常见的比较运算符包括,,==,!=,=,=比较运算符的结果是布尔值(True或False)逻辑运算符逻辑运算符用于组合多个条件表达式常见的逻辑运算符包括and,or,notand表示“与”,or表示“或”,not表示“非”示例判断正负数number=floatinput请输入一个数字if number0:print正数elif number==0:print零else:print负数这是一个简单的if语句示例,用于判断一个数字是正数、负数还是零首先,我们使用input函数获取用户输入的数字,并将其转换为浮点数类型然后,使用if语句判断number是否大于0如果大于0,则输出“正数”;如果等于0,则输出“零”;否则,输出“负数”练习判断奇偶数编写代码判断一个数是奇数还是偶数你可以使用取模运算符(%)来判断一个数是否能被2整除如果一个数能被2整除,则它是偶数;否则,它是奇数请尝试编写代码实现这个功能下面是一个示例代码number=intinput请输入一个整数if number%2==0:print偶数else:print奇数语句if-else两种可能的执行路径满足条件时执行一个语句块,不满足时执行另一个if-else语句提供了两种可能的执行路径当条件为真时,执行if if-else语句确保程序在任何情况下都有一个明确的执行路径语句块中的代码;当条件为假时,执行else语句块中的代码无论条件是真还是假,都会执行相应的语句块语句的结构if-elseif条件:语句块1else:语句块2if-else语句的结构包括一个if语句和一个else语句if语句后面跟着一个条件表达式,如果条件为真,则执行语句块1;否则,执行else语句后面的语句块2语句块1和语句块2都必须相对于if和else语句有缩进语句的执行流程if-else条件为True执行语句块1当if语句中的条件表达式的结果为True时,程序会执行紧跟在if语句后面的语句块1条件为False执行语句块2当if语句中的条件表达式的结果为False时,程序会执行else语句后面的语句块2示例判断成年age=intinput请输入你的年龄if age=18:print成年人else:print未成年人这是一个使用if-else语句判断一个人是否成年的示例首先,我们使用input函数获取用户输入的年龄,并将其转换为整数类型然后,使用if语句判断age是否大于等于18如果大于等于18,则输出“成年人”;否则,输出“未成年人”练习判断及格编写代码判断一个分数是否及格(60分及格)你可以使用if-else语句来实现这个功能如果分数大于等于60,则输出“及格”;否则,输出“不及格”请尝试编写代码实现这个功能下面是一个示例代码score=floatinput请输入你的分数if score=60:print及格else:print不及格语句if-elif-else多重条件判断按顺序检查多个条件if-elif-else语句用于多重条件判断,它允许你检查多个条件,if-elif-else语句从上到下按顺序检查条件,一旦找到一个满足并根据不同的条件执行不同的语句块的条件,就执行对应的语句块,并跳过后面的条件语句的结构if-elif-elseif条件1:语句块1elif条件2:语句块2else:语句块3if-elif-else语句的结构包括一个if语句、零个或多个elif语句和一个可选的else语句每个elif语句后面跟着一个条件表达式,如果条件为真,则执行对应的语句块如果所有条件都不满足,则执行else语句后面的语句块语句的执行流程if-elif-else从上到下检查条件if-elif-else语句从上到下按顺序检查条件,直到找到一个满足的条件或到达else语句执行第一个满足的条件对应的语句块一旦找到一个满足的条件,就执行对应的语句块,并跳过后面的条件和else语句示例成绩等级划分score=floatinput请输入你的分数if score=90:print优秀elif score=80:print良好elif score=60:print及格else:print不及格这是一个使用if-elif-else语句划分成绩等级的示例根据学生的分数,将其划分为优秀、良好、及格和不及格四个等级每个等级对应一个分数范围练习季节判断编写代码根据月份判断季节你可以使用if-elif-else语句来实现这个功能例如,3-5月为春季,6-8月为夏季,9-11月为秋季,12-2月为冬季请尝试编写代码实现这个功能下面是一个示例代码month=intinput请输入月份if3=month=5:print春季elif6=month=8:print夏季elif9=month=11:print秋季else:print冬季嵌套语句ifif语句内部包含其他if语句实现更复杂的条件判断嵌套if语句是指在一个if语句的语句块内部包含另一个if语句这嵌套if语句可以根据多个条件的组合,执行不同的语句块例如种结构可以实现更复杂的条件判断,可以先判断一个人的年龄是否大于18岁,然后再判断其是否有驾照嵌套语句的结构ifif条件1:if条件2:语句块Aelse:语句块Belse:语句块C嵌套if语句的结构包括一个外部if语句和一个内部if语句内部if语句位于外部if语句的语句块内部根据条件1和条件2的真假组合,可以执行语句块A、语句块B或语句块C嵌套语句的执行流程if逐层判断条件嵌套if语句逐层判断条件首先判断外部if语句的条件,如果为真,则执行外部if语句的语句块;否则,执行外部else语句的语句块根据条件组合执行相应语句块在外部if语句的语句块内部,再判断内部if语句的条件,根据条件组合执行相应的语句块示例门票价格计算根据年龄和身份(学生/非学生)计算门票价格例如,18岁以下的学生免费,18岁以上的学生半价,非学生全价age=intinput请输入年龄is_student=input是否学生(是/否)if age18:print免费else:if is_student==是:print半价else:print全价练习指数计算与分类BMI编写代码计算BMI(身体质量指数)并给出身体状况评估BMI计算公式BMI=体重(kg)/身高(m)的平方身体状况评估标准BMI
18.5为偏瘦,
18.5=BMI24为正常,24=BMI28为超重,BMI=28为肥胖weight=floatinput请输入体重(kg)height=floatinput请输入身高(m)bmi=weight/height**2if bmi
18.5:print偏瘦elif
18.5=bmi24:print正常elif24=bmi28:print超重else:print肥胖条件表达式的复杂运算使用and,or,not组合多个条件可以使用and,or,not逻辑运算符组合多个条件表达式,实现更复杂的条件判断and表示“与”,or表示“或”,not表示“非”优先级和括号的使用逻辑运算符有优先级之分,可以使用括号改变运算顺序例如,A andBor C表示先计算A andB的结果,然后再与C进行或运算示例逻辑运算在语句中的if应用如果年龄大于18岁且收入大于5000元,则可以申请信用卡age=intinput请输入年龄income=floatinput请输入收入if age18and income5000:print可以申请信用卡else:print不能申请信用卡练习图书馆借书规则编写代码实现图书馆借书规则(考虑会员身份和借书数量)例如,会员可以借5本书,非会员可以借2本书如果借书数量超过限制,则不允许借书is_member=input是否会员(是/否)book_count=intinput请输入借书数量if is_member==是:if book_count=5:print允许借书else:print超出借书数量限制else:if book_count=2:print允许借书else:print超出借书数量限制语句的常见错误if1缩进错误2忘记冒号if语句的语句块必须相对于if if语句的条件表达式后面必须语句有缩进缩进错误会导致有一个冒号忘记冒号会导致程序无法正确执行语法错误3条件永真或永假如果if语句的条件表达式永远为真或永远为假,则会导致程序逻辑错误例如,if10:或if10:调试技巧使用print语句检查变量值可以使用print语句在程序中输出变量的值,以便检查变量是否符合预期例如,printnumber可以输出变量number的值使用断点进行单步调试可以使用调试器设置断点,然后单步执行程序,以便逐行检查代码的执行情况大多数集成开发环境(IDE)都提供了调试器练习调试错误代码找出并修复给定代码中的错误例如,下面这段代码存在缩进错误number=10if number5:print大于5#缩进错误正确的代码应该是number=10if number5:print大于5#正确的缩进语句的性能考虑if条件判断的顺序优化避免不必要的判断对于多重条件判断,应该将最有可能满足的条件放在前面,以减避免在if语句中进行不必要的判断例如,如果已经知道一个变少判断次数,提高程序性能量的值,则不需要再次判断该变量的值示例优化多重条件判断假设要根据用户的会员等级给予不同的折扣会员等级分为普通会员、银卡会员、金卡会员和钻石会员钻石会员的概率最低,普通会员的概率最高,那么应该将普通会员放在前面判断level=input请输入会员等级if level==普通会员:discount=
0.9elif level==银卡会员:discount=
0.8elif level==金卡会员:discount=
0.7else:discount=
0.6三元运算符简化if-else语句语法value_if_true ifcondition elsevalue_if_false三元运算符可以简化简单的if-else语句,使代码更加简洁易读它是一种条件表达式,根据条件的结果返回不同的值三元运算符的语法是value_if_true ifcondition elsevalue_if_false如果condition为真,则返回value_if_true;否则,返回value_if_false示例使用三元运算符score=floatinput请输入你的分数result=及格if score=60else不及格printresult这是一个使用三元运算符判断分数是否及格的示例如果score大于等于60,则result为及格;否则,result为不及格练习重构代码将给定的if-else语句重构为三元运算符形式例如,将以下代码if age=18:status=成年人else:status=未成年人重构为age=intinput请输入年龄status=成年人if age=18else未成年人printstatus语句()switch Python
3.10+多分支条件判断的替代方案match-case语法switch语句是一种多分支条件判断的替代方案它可以根据不match-case语法是Python
3.10+中用于实现switch语句的同的值执行不同的语句块在Python
3.10及以上版本中,可语法它使用match关键字和一个或多个case子句每个以使用match-case语法实现switch语句的功能case子句指定一个值和一个语句块当match表达式的值与某个case子句的值匹配时,执行该case子句的语句块语句示例switchday=input请输入星期几match day:case Monday:print工作日case Saturday|Sunday:print周末case_:print未知日期这是一个使用match-case语法实现switch语句的示例根据用户输入的星期几,输出相应的提示信息如果输入的是Monday,则输出工作日;如果输入的是Saturday或Sunday,则输出周末;否则,输出未知日期练习实现简单计算器使用if语句或switch语句实现简单的四则运算计算器用户输入两个数字和一个运算符,程序根据运算符进行相应的计算,并输出结果例如,用户输入1+2,程序输出3num1=floatinput请输入第一个数字operator=input请输入运算符(+、-、*、/)num2=floatinput请输入第二个数字match operator:case+:result=num1+num2case-:result=num1-num2case*:result=num1*num2case/:if num2==0:result=除数不能为0else:result=num1/num2case_:result=无效的运算符printresult条件判断在循环中的应用循环控制提前退出循环条件判断可以用于控制循环的执行例如,可以使用if语句判断可以使用break语句在循环中提前退出当满足某个条件时,可是否满足循环的终止条件,或者使用if语句跳过循环中的某些代以使用break语句跳出循环,不再执行循环中的剩余代码码示例查找素数使用条件判断和循环查找给定范围内的素数素数是指只能被1和自身整除的数例如,
2、
3、
5、
7、11等都是素数def is_primenumber:if number=1:return Falsefor i in range2,intnumber**
0.5+1:if number%i==0:return FalsereturnTruestart=intinput请输入起始范围end=intinput请输入结束范围for number in rangestart,end+1:if is_primenumber:printnumber练习猜数字游戏实现一个简单的猜数字游戏,包含多轮猜测和提示程序随机生成一个1到100之间的数字,用户每次猜测后,程序给出提示大了或小了用户在规定的次数内猜中数字,则游戏胜利;否则,游戏失败import randomsecret_number=random.randint1,100guess_limit=7guess_count=0while guess_countguess_limit:guess=intinput请输入你的猜测guess_count+=1if guess==secret_number:print恭喜你猜对了!breakelif guesssecret_number:print小了else:print大了else:print你没有猜中,数字是,secret_number异常处理与条件判断try-except语句避免程序崩溃try-except语句用于捕获和处理程序中的异常异常是指程序通过使用try-except语句,可以避免程序因为异常而崩溃当在执行过程中遇到的错误例如,除数为零、文件不存在等try语句块中的代码发生异常时,程序会跳转到except语句块中执行异常处理代码示例安全的除法运算使用条件判断和异常处理实现安全的除法运算防止除数为零导致程序崩溃try:num1=floatinput请输入被除数num2=floatinput请输入除数if num2==0:print除数不能为零else:result=num1/num2print结果是,resultexcept ValueError:print请输入数字练习输入验证编写代码验证用户输入的有效性,包括数据类型和值范围例如,要求用户输入一个1到100之间的整数,如果用户输入的不是整数或不在范围内,则提示用户重新输入while True:try:number=intinput请输入一个1到100之间的整数if1=number=100:breakelse:print输入的数字不在范围内,请重新输入except ValueError:print请输入整数print你输入的数字是,number函数返回值与条件判断根据条件返回不同值提前返回优化函数可以根据不同的条件返回不同的值这使得函数可以根据输可以在函数中提前返回,以减少不必要的计算和判断当满足某入的不同,产生不同的输出个条件时,可以使用return语句直接返回结果,不再执行函数中的剩余代码示例计算折扣根据购买金额计算折扣的函数实现例如,购买金额大于1000元,则打9折;购买金额大于500元,则打95折;否则,不打折def calculate_discountamount:if amount1000:return
0.9elif amount500:return
0.95else:return1amount=floatinput请输入购买金额discount=calculate_discountamountfinal_amount=amount*discountprint最终金额是,final_amount练习成绩评估系统实现一个函数,根据多门课程成绩给出综合评估例如,如果所有课程都及格,则评估为及格;如果有一门课程不及格,则评估为不及格;如果所有课程都优秀,则评估为优秀def evaluate_gradesgrades:if allgrade=60for gradein grades:if allgrade=90for gradein grades:return优秀else:return及格else:return不及格grades=[floatinput请输入成绩foriinrange3]result=evaluate_gradesgradesprint评估结果是,result列表推导式中的条件判断过滤列表元素条件表达式应用列表推导式可以使用条件判断来过滤列表元素例如,可以使用列表推导式中的条件表达式可以根据条件对列表元素进行转换if语句选择列表中的偶数或奇数例如,可以使用if-else语句将列表中的正数转换为负数,将负数转换为正数示例筛选偶数使用列表推导式和条件判断筛选列表中的偶数numbers=[1,2,3,4,5,6,7,8,9,10]even_numbers=[number fornumberinnumbers ifnumber%2==0]printeven_numbers#输出[2,4,6,8,10]练习数据清洗使用列表推导式和条件判断清洗数据集例如,去除列表中的空字符串和重复元素data=[,apple,banana,apple,orange,]cleaned_data=listset[item foritem indata ifitem!=]printcleaned_data条件判断在文件操作中的应用检查文件是否存在根据文件类型执行不同操作可以使用条件判断检查文件是否存在如果文件存在,则执行相可以根据文件类型执行不同的操作例如,如果文件是文本文件应的操作;否则,提示用户文件不存在,则读取文件内容;如果文件是图片文件,则显示图片示例文件备份程序使用条件判断实现简单的文件备份程序如果文件存在,则将其复制到备份目录;否则,提示用户文件不存在import osimportshutilsource_file=input请输入要备份的文件路径backup_dir=backupif notos.path.existsbackup_dir:os.makedirsbackup_dirif os.path.existssource_file:shutil.copysource_file,backup_dirprint文件备份成功else:print文件不存在练习日志分析器编写程序分析日志文件,提取特定类型的日志条目例如,提取所有包含error关键字的日志条目log_file=input请输入日志文件路径if os.path.existslog_file:with openlog_file,r asf:error_logs=[line forline inf iferror inline.lower]for login error_logs:printlogelse:print文件不存在条件判断在程序中的应用GUI事件处理用户输入验证条件判断可以用于处理GUI程序中的事件例如,可以根据用户条件判断可以用于验证用户在GUI程序中的输入例如,可以检点击的按钮执行不同的操作查用户输入的用户名和密码是否符合要求示例简单登录界面使用条件判断实现用户名和密码验证username=input请输入用户名password=input请输入密码if username==admin andpassword==123456:print登录成功else:print用户名或密码错误练习温度转换器实现一个带GUI的温度转换器(摄氏度与华氏度互转)用户输入温度值和温度类型,程序将其转换为另一种温度类型,并显示结果def celsius_to_fahrenheitcelsius:return celsius*9/5+32def fahrenheit_to_celsiusfahrenheit:return fahrenheit-32*5/9temp=floatinput请输入温度值unit=input请输入温度类型(C/F).upperif unit==C:fahrenheit=celsius_to_fahrenheittempprint华氏温度是,fahrenheitelif unit==F:celsius=fahrenheit_to_celsiustempprint摄氏温度是,celsiuselse:print无效的温度类型条件判断的最佳实践1保持代码简洁清晰2避免过度嵌套条件判断的代码应该简洁清晰过度嵌套的if语句会降低代码,易于理解避免使用过于复的可读性和可维护性应该尽杂的条件表达式和嵌套if语句量避免过度嵌套,可以使用elif语句或将复杂的条件判断分解为多个简单的条件判断3使用有意义的变量名使用有意义的变量名可以提高代码的可读性变量名应该能够清晰地表达变量的含义实际项目案例分析分析一个真实项目中条件判断的应用例如,分析一个电商网站的订单处理流程中,条件判断是如何用于处理不同的订单状态、支付方式和配送方式的在一个电商网站的订单处理流程中,条件判断被广泛应用于处理不同的订单状态、支付方式和配送方式例如•如果订单状态为已支付,则执行发货操作;•如果订单状态为已发货,则更新订单状态为已收货;•如果支付方式为支付宝,则调用支付宝接口进行支付;•如果配送方式为快递,则调用快递公司接口进行配送总结回顾if语句的基本结构和变体条件判断的常见应用场景if语句的基本结构包括if语句、条件判断被广泛应用于程序中的if-else语句和if-elif-else语句各种场景,例如数值比较、逻辑它们可以根据不同的条件执行判断、输入验证、事件处理、文不同的语句块件操作等编写高效清晰的条件语句的技巧编写高效清晰的条件语句的技巧包括保持代码简洁清晰、避免过度嵌套、使用有意义的变量名等课后练习与拓展资源1推荐练习题编写一个程序,判断一个年份是否为闰年编写一个程序,判断一个三角形是否为直角三角形编写一个程序,实现简单的文本游戏2进阶学习资源可以参考Python官方文档、在线教程和编程书籍,深入学习条件判断和程序控制例如,《Python编程从入门到实践》、《Python核心编程》等。
个人认证
优秀文档
获得点赞 0