首页 > 编程语言 >python--条件

python--条件

时间:2023-11-27 18:37:06浏览次数:41  
标签:语句 elif end python -- 条件 print def

Task 4 条件

条件

if 语句

image-20231125155402824

上边是if语句执行的一个基本流程

下边现在有一个简单的例子

def f(x):
print("A",end = ' ')
if x == 0:
print("B", end = ' ')
print("C", end = ' ')
print("D")
f(1)  #运行结果是AD
def abs(x):
if x < 0:
x = -x
return x

在这个语句中是求的是一个数的绝对值,但是要注意的是if以及下一行if的内容最后换成两行,写成缩进的形式,不要写在一行,除非特殊情况

多个返回结果

def abs(x):
if x < 0:
return -x
return x

使用布尔表达式

def abs4(n):
   return (n < 0)*(-n) + (n>=0)*(n)

这个形式虽然可以得到相应的结果,但是太奇怪了,人去看的话,有时候都会存在看不懂的情况,建议不要这样写

if-else语句

x = input("x= ")
x = float(x)
print("hello")
if x < 10:
print("whale")
print("goodbye")

image-20231125161000243

image-20231125161031155

所以我们可以重新设计上边的绝对值的函数

def abs(x):
if x < 0:
x = -x
else:
return x

if-elif-else语句

image-20231125161350564

def f(x):
   print("A", end="")
   if x == 0:
       print("B", end="")
       print("C", end="")
   elif x == 1:
       print("D", end="")
   else:
       print("E", end="")
       if x == 2:
           print("F", end="")
       else:
           print("G", end="")
   print("H")

上边这是一个例子,看可以自己去运行尝试一下

但是我们会遇到elif出现很多的这种情况

比如录入学生成绩等级:

def getGrade(score):
   if score >= 90:
       grade = "A"
   elif score >= 80:
       grade = "B"
   elif score >= 70:
       grade = "C"
   elif score >= 60:
       grade = "D"
   else:
       grade = "F"
   return grade

print("103 -->", getGrade(103))
print(" 88 -->", getGrade(88))
print(" 70 -->", getGrade(70))
print(" 61 -->", getGrade(61))
print(" 22 -->", getGrade(22))

image-20231125161750536

为了避免使用多个elif语句,我们可以了解到match-case语句

Python3 条件控制 | 菜鸟教程 (runoob.com)

其实他与C语言中的switch-case语句

清晰的代码风格

在保证代码正确运行的前提下,一定要保证清晰的代码,简洁明了,这样不容易出现bug

 

标签:语句,elif,end,python,--,条件,print,def
From: https://www.cnblogs.com/Zhang-xy-2006/p/17860092.html

相关文章

  • D. Small GCD
    D.SmallGCDLet$a$,$b$,and$c$beintegers.Wedefinefunction$f(a,b,c)$asfollows:Orderthenumbers$a$,$b$,$c$insuchawaythat$a\leb\lec$.Thenreturn$\gcd(a,b)$,where$\gcd(a,b)$denotesthegreatestcommondivisor(GCD)ofi......
  • 更新 Kubernetes 集群中 Argo CD 的服务类型为 NodePort失败
    这个问题是我再做项目的时候要开区argoCD时并链接时端口开区不了kubectlpatchsvcargocd-server-nargocd-p'{"spec":{"type":"NodePort"}}'service/argocd-serverpatched(nochange)发现这样的问题这个问题我是换了一个思路是直接来做以刻kubernetes的yaml文件并且......
  • P7626 [COCI2011-2012#1] MATRIX( 普及/提高− ) 题解
    题目传送门思路:首先思考暴力,\(O(n^4)\)的时间复杂度,不行。那么我们这里就要运用到一点前缀和的知识了。我们可以用前缀和对两条对角线进行计数。每个点有两个对角线运算。差不多是\(O(n^2)\)到\(O(n^3)\)的时间复杂度。而\(n\leq400\)稳过。Code:#include<bits/stdc......
  • 11月23日每日学习
    今天写的是flash的大作业<!DOCTYPEhtml><html><head><metahttp-equiv="content-type"content="text/html;charset=utf-8"><metaname="viewport"content="width=device-width,initial-scale=1,......
  • 网站频频告警故障排查实录
    故障描述位于某ProxmoxVE超融合集群上的一个网站频频报警,表现的形式是一会儿服务不可用,一会儿又恢复(如下图所示),但同一集群上的其他Web站点未发现异常。可能的原因1)出口带宽占满。2)ProxmoxVE集群故障。3)负载均衡器故障。4)应用服务器故障。5)数据库故障。故障定位1)通过查看IDC出口带......
  • 私域成交的方式---朋友圈成交
    朋友圈不止是生活,也是工作营销的很好场所。朋友圈成交也就是私域成交中养客户成交。和之前的微商相似,微商就是在朋友圈发内容,引起客户的兴趣,再转到1对1私聊进行成交。适合产品:所有的产品都适合,不管是生鲜生活用品,还是珠宝等高价的都是可以。朋友圈核心:内容+发布频次+时间。朋友圈内......
  • 微信的标签管理,怎样标签群发更高效?
    ......
  • 探秘数字学习新兴:深度解析知识付费系统
    在当今数字化时代,知识付费系统作为一种创新性的学习和知识分享模式正逐渐崭露头角。本文将深入探讨知识付费系统的概念、重要性,并提供一个简单而完整的示例,展示其核心技术和实现方式。概念与重要性知识付费系统是一种基于互联网平台的学习模式,通过用户支付费用获取专业知识和技能。......
  • 什么是提示工程 Prompt Engineering
    一、什么是提示工程(PromptEngineering)提示工程,也称为"Γ指令工程"。在人工智能领域,Prompt指的是用户给大型语言模型发出的指令。例如,“Γ讲个笑话”、“Γ用Python编个贪吃蛇游戏”、“Γ给男/女朋友写封情书"等。虽然看似简单,但实际上,Prompt在人工智能时代扮演着非常重要的角色。......
  • Maven 插件统一修改聚合工程项目版本号
    ......