版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Python程序设计项目化教程》基础语法与流程控制主讲人:xxx项目2项目背景在现代信息社会,编程已成为一项重要的基础技能,而任何编程语言的高效运用都始于对其基础语法的深刻理解和灵活运用。本项目将从变量定义、数据类型、运算符等基本语法要素入手,引导读者建立对程序代码的基本认知,理解如何正确表达数据和进行基本运算。在此基础上,进一步深入讲解顺序结构、选择结构和循环结构等流程控制语句。通过一系列由浅入深的实战任务,读者将能够独立编写具有一定逻辑功能的简单程序,理解程序的执行机制,为后续更高级的编程概念的学习奠定坚实基础。学习目标:01理解并掌握Python的基本数据类型与变量的使用方法。熟练运用各类运算符进行数据计算与逻辑判断。掌握输入输出格式化方法,提升交互体验。掌握分支结构与循环结构的语法与应用。能够综合运用基础语法与流程控制解决实际问题。02030405思政引领科学精神与工匠精神:通过调试代码培养严谨细致的科学态度,强调代码优化与工程规范,体现追求卓越的工匠精神。社会责任与健康意识:在BMI健康评估系统中融入健康生活理念,引导公众关注公共健康数据。法治意识与伦理道德:在用户输入处理中强调数据合法性,如拒绝恶意输入或敏感信息;讨论算法伦理,如避免在猜数字游戏中设置不公平的随机数范围。
变量与数据类型任务2.1
运算符实战任务2.2
输入输出格式化任务2.3猜数字游戏项目演练
循环结构任务2.5
分支结构任务2.4目录任务2.1变量与数据类型任务描述本任务要求掌握Python基础数据类型的使用方法,理解变量的概念与命名规则,学习不同类型数据之间的转换技巧。通过实际操作,熟悉整数、浮点数、字符串、布尔值等核心数据类型的特性和应用场景。任务准备本任务要求掌握Python基础数据类型的使用方法,理解变量的概念与命名规则,学习不同类型数据之间的转换技巧。通过实际操作,熟悉整数、浮点数、字符串、布尔值等核心数据类型的特性和应用场景。
变量标识符是用于表示变量、函数、类、模块等程序元素的名称。在Python中,标识符命名需要遵循以下规则:•标识符要使用有意义的描述性名称。•标识符由字母、下画线和数字组成,且不能以数字开头。•标识符是区分大小写的。•标识符不能使用Python的关键字。数据类型关键字(Keywords)是语言核心保留的、具有特殊语法意义的标识符,用于定义程序结构、控制流程和数据类型等核心功能。它们不能作为变量名、函数名或自定义标识符,否则会引发语法错误。数据类型转换变量是存储数据值的容器,通过赋值操作将数据与标识符(变量名)绑定,实现数据引用与操作。标识内存单元的标识符又称为变量名,Python通过赋值运算符“=”将内存单元中存储的数值与变量名建立联系,即定义变量1.变量(1)标识符
标识符是用于表示变量、函数、类、模块等程序元素的名称。需遵循以下规则:标识符要使用有意义的描述性名称,以提高代码的可读性。标识符由字母、下画线和数字组成,并且不能以数字开头。标识符是区分大小写的。例如,myname和MyName是不同的标识符。标识符不能使用Python语言中的关键字,如list、str、dict等。1.变量(2)关键字是Python语言中保留的、具有特殊语法含义的标识符,用于定义程序结构、控制执行流程和声明数据类型等核心功能。关键字不能作为变量名、函数名或自定义标识符使用,否则会引发SyntaxError异常。变量=值(3)变量是存储数据的容器,通过赋值操作将数据与标识符(变量名)绑定,可以实现数据引用与操作。标识内存单元的标识符又称变量名。在Python语言中,通过赋值运算符“=”将内存单元中存储的数据与变量名建立联系,即定义变量。语法格式如下:2.数据类型(1)数字类型1)整数(int)类型用于表示不包含小数和小数点的整数数值,包括正整数、负整数和零。整数的取值范围是(-∞,∞),实际的取值范围受限于运行Python程序的计算机内存大小。可直接使用加法(+)、减法(-)、乘法(*)、除法(/)、整除(//)、取模(%)等运算符进行各种算术运算。2)浮点数(float)类型浮点数类型简称浮点型,用于表示带有小数点的数字。浮点数可以使用十进制或科学记数法来表示。3)复数(complex)类型复数类型由实数部和虚数部组成。在Python语言中,复数的一般形式为real+imagj、real+imagJ或complex(real,imag),其中real为实数部,imag为虚数部,J和j为虚数部单位。4)布尔(bool)类型布尔类型是整型的子类。在Python语言中,布尔类型只有True(真)和False(假)两个取值。2.数据类型(2)字符串类型字符串(string)是一种不可变、有序的字符序列,用于存储文本数据。创建字符串的方法如下:(1)单引号/双引号:这是创建字符串常用的方法,两者的功能完全等价。示例代码如下:(2)三引号:用于创建多行字符串,保留换行符和缩进。示例代码如下:str1='Hello'#使用单引号包裹str2="Python"#使用双引号包裹str3='''Thisisamulti-linestring'''#使用三引号包裹2.数据类型在字符串中,特殊字符(如换行符和制表符等)可以使用转义字符表示。转义字符以反斜杠(\)开头,用于对字符串中的特定字符进行转义处理。常用的转义字符如表2-1所示。转义字符功能说明\b退格符\n换行符\v纵向制表符\t横向制表符\r回车符表2-1常用的转义字符2.数据类型(3)列表类型列表(list)是一种有序、可变、可包含任意类型元素的容器数据类型。列表使用方括号([])表示,每个元素之间用逗号(,)分隔,示例代码如下:empty_list=[] #创建0个元素的列表称为空列表my_list=[10,"text",3.14,True,[1,2,3]]#创建不同类型元素的列表print(empty_list,my_list,sep='\n')2.数据类型(4)元组类型元组(tuple)是一种不可变、有序的序列类型,用于存储多个元素的集合。元组中的元素不能被修改、添加或删除。使用“()”创建元组,元组中的元素以逗号分隔,示例代码如下:t1=(1,"text",3.14)#创建不同类型元素的元组empty_tuple=()#创建0个元素的元组称为空元组t2=1,"text",3.14#创建元组时,简单的程序括号可省略,Python自动识别为元组t3=(47,)#元组只有一个元素时,元素后面必须加逗号,否则会被识别为整数2.数据类型(5)集合类型集合(Set)是一种无序、可变且不重复的元素容器,用于存储唯一值的集合。集合类型使用花括号({})表示,每个元素之间用逗号(,)分隔,不允许出现重复元素。示例代码如下:s1={1,2,3,4}#直接创建包含1,2,3,4的集合empty_set=set()#创建空集合,必须使用set()语句s2={1,2,3,2,1}#集合中只保留第一个重复的元素,其元素自动去重print(s1,empty_set,s2)2.数据类型(6)字典类型字典(Dictionary)是一种基于键值对(Key-ValuePair)存储的可变容器,它通过哈希表实现高效的数据访问。字典类型使用花括号({})表示,每个键值对之间用逗号分隔,键和值之间用冒号(:)分隔。示例代码如下:dict1={'name':'Alice','age':25,'city':'NewYork'}#花括号直接创建字典empty_dict={}#创建空字典类型print(dict1,empty_dict)3.数据类型转换Python内置的函数可以执行数据类型之间的转换,这些函数返回一个新的对象,返回转换的值,具体如表2-2所示。表2-2
Python数据类型转换基本函数格式功能描述示例运行结果int(x[,base])将x转换为一个整数int(3.14)3float(x)将x转换为一个浮点数float(5)5.0complex(x)将x转换为一个复数complex(2)2+0jbool(x)将x转换为一个逻辑值bool(‘Chinese’)Truestr(x)将x转换为一个字符串str(33)33list(x)将可迭代对象x转换为一个列表。list(‘python’)['P','y','t','h','o','n']tuple(x)将可迭代对象x转换为一个元组tuple(‘C语言’)('C','语','言')dict(x)将可迭代对象x转换为一个字典dict([('class',1),('age',18)]){'class':1,'age':18}set(x)将可迭代对象x转换为一个集合set((1,)){1}bin(x)将x转换为二进制数bin(4)0b100oct(x)将x转换为八进制数oct(10)0o12hex(x)将x转换为十六进制数hex(12)0xc任务实施--任务分析在本任务中,结合变量和数据类型的基础知识,完成学生信息的定义及类型输出,并根据需求进行类型转换。1.定义不同数据类型的变量并输出类型。示例代码如下:#基础数据类型定义name="张三" #字符串age=20 #整数height=1.75 #浮点数is_student=True #布尔值print(type(name)) #输出:<class'str'>任务实施--任务分析2.根据需求进行类型转换在实际编程中,经常需要将数据在不同类型之间进行转换。#类型转换操作num_str="123"num_int=int(num_str) #字符串转整数num_float=float("3.14") #字符串转浮点数str_num=str(100) #数字转字符串任务总结通过本任务实践,我们了解了Python中多种数据类型的定义方法及特性,并通过实际案例掌握了变量的创建与类型转换操作。在实际编程中,需根据具体业务需求选择合适的数据类型,灵活运用类型转换功能,确保数据处理的准确性和高效性。任务测试一、选择题1.下列选项中,不属于Python关键字的是()。A.if B.for C.age D.and2.下列选项中,属于数字类型的是()。A.0 B.3.14 C.10+2j D.以上都是3.下列选项中,()不是有效的变量名。A._day B.banana C.2_n D.num_list二、填空题1.布尔类型的取值包括()和()。2.使用()函数可以查看数据的类型。三、简答题1.请简述Python中的数据类型有哪些。2.请简述Python中标识符的命名规则。任务2.2运算符实战任务描述本任务要求学习并实践Python中各类运算符的使用,包括算术运算符进行数学计算、比较运算符进行值比较、逻辑运算符组合多个条件、赋值运算符简化代码编写等。同时,掌握运算符优先级规则,能够正确书写复杂表达式。任务准备在Python中,运算符是用于对变量或值进行操作的特殊符号,它们通过组合不同的数据类型实现计算、比较、逻辑判断等功能。运算符分为算术运算符、比较运算符、逻辑运算符、赋值运算符等类型,每种类型具有独特的规则和应用场景。算术运算符算术运算符是Python编程中最基础且最重要的运算符类型,用于执行各种数学运算。比较运算符比较运算符也称为关系运算符,用于比较两个值的大小或相等性,返回布尔值,关系成立则运算结果为True,否则返回False。逻辑运算符逻辑运算用于组合条件表达式,返回布尔值。赋值运算符赋值是Python语言中的核心操作,主要通过赋值运算符实现。赋值运算符主要分为基础赋值和复合赋值两大类1.算术运算符用于处理四则运算的符号称为算术运算符,是加法、减法、乘法、除法、乘方等运算的统称。算术运算符的功能说明及示例如表2-3所示。表2-3
Python算术运算符的功能说明及示例运算符功能说明示例+(加法)加法运算符既可用于执行数值相加运算,也可以用于序列类型的连接操作。"a"+"b",结果为"ab"-(减法)用于执行数值相减运算,也可以用于集合的差集操作。10.5-3.2=7.3*(乘法)用于执行数值相乘运算,也可以用于序列的重复操作。2.5*4.0=10.0/(除法)执行真正的数学除法时,总是返回浮点数结果。10/2=5.0//(整除)执行向下取整的除法,返回不大于结果的最大整数。10//3=3%(取模)返回除法运算的余数,在数学和编程中有广泛应用。-10%3=2;10%-3=-2**(幂运算)用于执行指数运算,计算一个数的指定次幂。2**3=8算术运算符既支持相同类型的数值进行运算,也支持不同类型的数值进行混合运算。但在混合运算时,若操作数类型不同,Python会强制将数值的类型进行隐式转换,这些转换遵循如下原则:(1)整数与浮点数混合运算时,整数提升为浮点数。(2)布尔值自动转换为整数参与运算:True=1,False=0。(3)复数参与运算时,其他类型被提升为复数。示例代码如下:a=5 #定义一个整数类型数据b=3.0 #定义一个浮点数类型c=True #定义一个布尔类型数据d=3+2j #定义一个复数类型数据print(a+b) #整数与浮点数相加print(c+2) #布尔值与整数相加,True=1,False=0print(a+d) #整数与复数相加2.比较运算符比较运算符也称为关系运算符,用于比较两个值的大小或相等性,返回布尔值,关系成立则运算结果为True,否则返回False。Python中比较运算符优先级相同,遵循从左到右的运算顺序。比较运算符的功能说明及示例如表2-4所示。表2-4
Python比较运算符的功能说明及示例运算符功能说明示例==(等于)比较两个操作数是否相等。5==5,返回True!=(不等于)比较两个操作数是否相等。5!=5,返回False>(大于)比较左边操作数是否大于右边操作数。7>10,返回False<(小于)比较左边的操作数是否小于右边的操作数。7<10,返回True>=(大于或等于)比较左边的操作数是否大于或等于右边的操作数。7>=10,返回False<=(小于或等于)比较左边的操作数是否小于或等于右边的操作数。5<=5,返回Trueis判断两个变量是否引用同一个对象。aisb,如果id(a)==id(b),返回True,否则返回False。isnot判断两个变量是否引用不同对象。aisnotb,如果id(a)!=id(b),返回True,否则返回False。3.逻辑运算符逻辑运算用于组合条件表达式,返回布尔值。逻辑运算可以在条件语句、循环和逻辑判断等场景中使用,用于控制程序的流程和逻辑判断。使用关键字and、or和not这三个作为逻辑运算符,其中not运算符优先级最高,or运算符优先级最低。具体如表2-5所示。表2-5
Python逻辑运算符的功能说明及示例运算符功能说明示例and(与)全真为真。若第一个表达式为假
,直接返回False,不计算第二个。TrueandFalse的结果为Falseor(或)任一真为真。若第一个表达式为真,直接返回True,不计算第二个。FalseorTrue的结果为Truenot(非)取反。notTrue的结果为False,除布尔类型的数据可以作为操作数以外,数字、字符串、元组、列表、集合、字典等类型的数据也可以参与逻辑运算。非零数值、非空序列均被视为True,反之则被视为False。示例代码如下:print(0or'hi')#0与字符串参与逻辑运算符,返回结果为:'hi'x,y,z="",0,None#空字符串、0、None参与逻辑运算print(notx,noty,notz) #返回结果为:TrueTrueTrueage=25#数值参与逻辑与运算符print(age>=18andage<30) #返回结果为:Trueprint(notFalse) #返回结果为:True4.赋值运算符赋值是Python语言中的核心操作,主要通过赋值运算符来实现。赋值运算符主要分为基础赋值运算符和复合赋值运算符两大类。基础赋值运算符用于为变量赋值或修改变量值。示例代码如下:x=10#使用基础赋值运算符将整数10赋值给运算符左边的变量x使用基础赋值运算符可以同时为多个变量赋值。示例代码如下:a=b=c=20#为变量a、b、c均赋值为20n,m=10,20#为变量n赋值为10,为变量m赋值为20复合赋值运算符是一类结合算术运算符和赋值运算符的运算符,主要目的是简化代码。Python语言中复合赋值运算符的功能说明及示例如表2-6所示。表2-6
Python复合赋值运算符功能说明及示例运算符功能描述示例等价运算+=变量先相加指定数值,后结果赋值给原变量。y+=xy=y+x-=变量先减去指定数值,后结果赋值给原变量。y-=xy=y-x*=变量先乘以指定数值,后结果赋值给原变量。y*=xy=y*x/=变量先除以指定数值,后结果赋值给原变量。y/=xy=y/x//=变量先整除指定数值,后结果赋值给原变量。y//=xy=y//x%=变量先取余,后结果赋值给原变量。y%=xy=y%x**=变量先执行乘方运算,后结果赋值给原变量。y**=xy=y**xPython3.8以上版本新增了一个赋值运算符——海象运算符(:=),该运算符支持在表达式内部为变量赋值,但不可用于函数参数默认值或lambda表达式。由于形似海象的眼睛和长牙而得此命名。示例代码如下:a='python'print(n:=len(a))5.成员运算符成员运算符用于判断指定序列中是否包含某个值,如果包含,返回True,否则返回False。(1)in:如果在指定序列中找到值返回True,否则返回False。(2)notin:如果在指定序列中没有找到值返回True,否则返回False。示例代码如下:n='apple'm='a'print(minn)print(mnotinn)6.位运算符位运算符用于整数按二进制位进行操作,适用于整数。位运算符具体功能说明及示例如表2-7所示。表2-7
Python位运算符的功能说明及示例运算符功能说明示例(a=5,b=3)&按位与对两个数的每个二进制位进行逻辑与操作(同1为1,否则为0)a&b(0b101&0b011),返回结果为1。| 按位或对两个数的每个二进制位进行逻辑或操作(有1为1,同0为0)a|b(0b101|0b011),返回结果为7。^ 按位异或对两个数的每个二进制位进行异或操作(相同为0,不同为1)a^b(0b101^0b011),返回结果为6。~ 按位取反对单个数的每个二进制位取反(0变1,1变0)~a(~0b00000101),返回结果为-6。<< 左移将数的二进制位向左移动指定位数,右侧补0a<<1(0b101<<1),返回结果为10。>> 右移将数的二进制位向右移动指定位数,左侧补符号位(正数补0,负数补1)a>>1(0b101>>1),返回结果为2。7.算术运算符优先级高的运算符对应的运算先执行,优先级低的运算符对应的运算后执行,同一优先级的操作按照从左到右的顺序执行,如果表达式中包含小括号,那么解释器会先执行小括号中的子表达式。Python运算符优先级排列具体如表2-8所示。表2-8
Python运算符优先级从高到低排列运算符描述()圆括号**指数运算~,+,-按位取反;一元运算符,表示数值的正负属性*,/,//,%乘法、除法、整除和取模运算符+,-加法、减法运算符<<、>>按位左移、按位右移运算符&按位与运算符^,|按位异或、按位或运算符<,<=,>,>=,!=,==比较运算符is,isnot身份运算符in,notin成员运算符not逻辑非运算符and逻辑与运算符or逻辑或运算符=赋值运算符任务实施--任务分析运算符是构建程序逻辑的基石。本任务通过一个简单购物计算系统,重点训练读者综合运用各类运算符的能力,理解运算符优先级对计算结果的影响。任务实现示例代码如下:#综合运算符实战:简单购物计算系统print("===运算符实战===\n")#1.算术运算符price=50 #商品单价quantity=3 #商品数量total=price*quantity #商品总价print("总价:",total,"元") #输出总价#2.比较运算符price_a=80 #商品a价格price_b=60 #商品b价格print("A比B贵:",price_a>price_b) #返回比较结果print(f"价格相同:",price_a==price_b) #返回商品a,b价格是否相等的结果#3.逻辑运算符is_member=True #会员为Truetotal_cost=200 #消费金额can_discount=is_memberandtotal_cost>100 #是会员且消费金额大于200元print("可享折扣:",can_discount) #输出逻辑表达式结果#4.复合赋值运算points=100 #原积分points+=20 #增加积分 points*=2 #积分翻倍print("最终积分:",points) #输出最终积分任务总结通过本任务的实践,读者应可以理解运算符是构建表达式的基础,通过不同运算符的组合可以实现复杂的数据处理和逻辑判断。逻辑运算符在条件判断中尤为重要,能够准确组合多个条件以实现精确控制。同时,读者应可以掌握不同类型的运算符在实际场景中的应用逻辑。任务测试一、选择题1.幂运算的运算符是()。A.* B.** C.% D.//2.关于aorb的描述,错误的是()。A.若a=Trueb=True,则aorb==TrueB.若a=Trueb=False,则aorb==TrueC.若a=Trueb=True,则aorb==FalseD.若a=Falseb=False,则aorb==False3.优先级最高的运算符是()。A.* B.** C.() D.//任务测试二、简答题1.请简述Python语言中的运算符。2.请简单介绍Python语言中运算符的优先级。三、编程题1.计算当变量a的值为10、变量b的值为3时,a+b、a//b、a%b的结果。2.判断当变量age的值为20时,是否满足条件“age>=18andage<=60”。任务2.3输入与输出格式化方法任务描述本任务要求掌握Python语言中数据输入与输出的基本方法,重点学习字符串格式化方法。通过f-string(FormattedStringLiterals,格式化字符串字面量)和format()方法的实战应用,能够规范且简洁地格式化输出内容,提升程序与用户的交互体验。任务准备本任务要求掌握Python中数据输入输出的基本方法,重点学习字符串格式化方法。通过f-string和format()函数的实战应用,能够优雅地格式化输出内容,提升程序与用户的交互体验。
输入函数input()函数的真正价值在于它可以将静态代码转换为动态程序。输出函数print()函数是程序与用户沟通的“窗口”。格式化输出字符串格式化方法使用占位符%格式化字符串使用format()方法使用f-string方法1.输入函数input()使用input()函数输入的数据以字符串形式存储在指定的变量中,当输入的数据需要按照数字类型处理时,在Python语言中,可以通过强制转换,在输入数据后,先转换数据类型再进行赋值。语法格式如下:变量名称=input(["提示信息"])其中,“["提示信息"]”是可选项,是input()函数的参数,用于设置接收用户输入时的提示内容,但圆括号“()”不能省略。示例代码如下:name=input("请输入你的姓名:")))age=int(input("请输入你的年龄:"))#输入默认为字符串,需转换为整数类型print("姓名:",name)print("年龄:",age)2.输出函数print()print()函数是程序与用户沟通的“窗口”。print()函数不仅负责向用户展示计算结果,还承担着程序状态反馈、调试信息输出、操作指引提示等多重职责。print(*objects,sep,end,file=sys.stdout)1)print()函数的基本语法格式参数的说明如下。
objects:表示输出的对象。当输出多个对象时,各个对象之间使用逗号隔开。sep:用于设定参数之间的分隔符,默认使用空格作为分隔符。end:用于设定输出的结束符,默认使用换行符“\n”作为结束符,可自定义。
file:表示数据输出的目标文件对象。2.输出函数print()“格式字符串”%(值1,值2,...)2)使用占位符“%”格式化字符串使用占位符“%”格式化字符串的语法格式如下:参数的说明如下。格式字符串:表示需要被格式化的字符串,该字符串中包含单个或多个为真实数据占位的格式字符。格式字符用于精确控制不同类型数据的显示方式。Python语言提供了多种格式字符,方便在输出字符串时插入不同类型的变量。Python语言中常用的格式字符及其说明如表2-9所示。参数列表:位置参数、关键字参数或混合使用。如果涉及多个参数,则参数之间可以使用逗号隔开。2.输出函数print()表2-9
Python语言中常用的格式符及其说明格式符具体说明%s字符串格式(自动转换任何对象为字符串)%c格式化字符及其ASCII码%f浮点数格式,可以指定小数点后的精度%e或%E用科学计数法格式化浮点数(底数写e或E)%g自动选择%f和%e的简写(根据显示长度)%G
自动选择%f和%E的简写(根据显示长度)%d或i%有符号十进制整数%u无符号十进制整数%o八进制整数%x或%X无符号十六进制整数%p用十六进制数格式化变量的地址%%字符%格式字符需要将占位符%作为前缀,后面跟上表示数据类型的格式字符。插入对象放在字符串后面紧跟的%()内,插入多个对象时需用逗号分隔,插入单个对象时圆括号可以省略。2.输出函数print()"格式字符串".format(参数列表)3)format()方法格式化format()是Python内置的字符串格式化方法,通过{}占位符将变量动态插入字符串。相比传统%格式化,它支持位置参数、关键字参数、索引访问及丰富的格式化选项,是Python3.x推荐的主流格式化工具。其语法格式如下:格式字符串:表示需要被格式化的字符串,字符串中包含单个或多个为真实数据占位的符号{},可包含索引、关键字或格式说明符。参数列表:位置参数、关键字参数或混合使用。若涉及多个参数,可以用逗号隔开。2.输出函数print()f"字符串内容{表达式}[格式说明符]"或F"字符串内容{表达式}[格式说明符]"4)f-string格式化方法通过在字符串前缀添加f或F,直接在字符串中嵌入表达式,使用{}包裹表达式。它结合了简洁性、可读性和强大的动态计算能力,是当前Python字符串格式化的推荐方式。f-strings格式化方法的基本格式如下:字符串内容:普通文本内容,支持转义字符等。表达式:指定结果转换为字符串并插入对应位置,可以是变量、运算、函数调用等。花括号{}:用于标记需要动态嵌入的表达式或变量格式说明符(可选):位于表达式之后,以冒号:开头。语法格式::[填充字符][对齐方式][符号][#][0][宽度][分组选项][.精度][类型]任务实施--任务分析本任务旨在帮助读者掌握Python输入输出操作的核心格式化技巧。作为编程基础中的重要环节,输入输出格式化直接影响程序与用户的交互体验和数据展示效果。任务设计从实际应用场景出发,通过学生信息登记这一典型案例,使用input()函数接收用户输入信息,运用f-string进行直观的变量嵌入输出,通过format()方法实现灵活的格式控制,掌握数字类型的数据精度设置,以及创建规整的表格化输出布局。任务实施--任务分析任务实现1、输出学生信息登记系统标题,示例代码如下:print("="*40)print("学生信息登记系统")print("="*40)2.基本信息输入通过input()函数实现交互式数据输入,其中体重信息需转换为浮点数类型以支持后续数值计算。示例代码如下:name=input("请输入姓名:")student_id=input("请输入学号:")age=input("请输入年龄:")weight=float(input("请输入体重:"))print("\n"+"-"*30)任务实施--任务分析3.使用format方法格式化输出使用format()方法进行标准化输出,实现对数字精度的控制与文本的规整排列。示例代码如下:print("【format方法格式化】")print("姓名:{}".format(name))print("学号:{}".format(student_id))print("年龄:{}岁".format(age))print("体重:{:.2f}kg".format(weight))print("\n"+"-"*30)任务实施--任务分析4.使用f-string创建信息卡片运用f-string的嵌入变量特性与格式说明符,构建具有视觉美感的信息卡片式布局。示例代码如下:print("【信息卡片】")card=f"""+-------------------+|学生信息卡片|+-------------------+|姓名:{name:>10}||学号:{student_id:>10}||年龄:{age:>10}岁||体重:{weight:>10.2f}kg|+-------------------+"""print(card)print("\n"+"="*40)print("信息登记完成!")print("="*40)任务总结通过本任务的实践,读者将能够熟练运用Python的输入输出功能,为后续学习数据存储、图形界面开发等进阶内容奠定坚实的基础。格式化输出不仅是技术需求,更是提升代码可读性和用户体验的重要手段。而f-string简洁直观,是Python3.6+推荐的格式化方式,能够大大提升代码的可读性和编写效率。输入内容默认为字符串,需根据实际需要进行类型转换以保证数据处理的正确性。任务测试一、选择题1.在print()函数的输出字符串中可以将()作为参数,代表后面指定要输入的是浮点数。A.%d B.%s C.%f D.%c2.使用()函数接收输入的数据。A.accept() B.input() C.login() D.print()二、编程题1.编写程序,要求从键盘输入圆的半径,计算圆的面积并保留2位小数进行输出。2.编写程序,实现从键盘输入摄氏温度,计算并输出对应的华氏温度。(转换公式为:华氏温度=摄氏温度×9/5+32)三、简答题1.请简述Python中格式化字符串的几种方式。2.请简单介绍输入输出函数的格式任务2.4分支结构任务描述本任务要求理解程序分支结构的概念,掌握if、elif、else关键字的使用方法。通过实际案例学习单分支条件判断、多分支条件选择及嵌套条件结构的编写技巧,实现程序的逻辑判断功能。任务准备本任务要求理解程序分支结构的概念,掌握if、elif、else关键字的使用方法。通过实际案例学习单分支条件判断、多分支条件选择及嵌套条件结构的编写技巧,实现程序的逻辑判断功能。单分支单分支选择结构是分支结构中最简单的形式,它只包含一个条件判断。。双分支双分支选择结构用于在程序执行过程中,同时对满足条件和不满足条件做出相对应的处理,根据条件表达式的真假结果,在两个不同的代码块中选择一个执行。多分支多分支选择结构用于处理多个互斥条件的情况。当程序需要根据不同的条件执行不同的代码块时,使用多分支结构可以让逻辑更加清晰。嵌套结构if嵌套选择结构是指在一个分支结构的代码块内部包含另一个完整的分支结构。1.单分支选择结构单分支选择结构是分支结构中最简单的形式,它只包含一个条件判断。当条件成立(True)时,执行相应的代码块;当条件不成立(False)时,跳过该代码块继续执行后续代码。if语句由关键字if、条件表达式和冒号组成,其语法格式如下:if条件表达式:
代码块1.单分支选择结构if:是关键字,表示条件判断的开始条件表达式:可以是比较运算、逻辑运算、成员运算等任何返回布尔值(True或False)的表达式冒号:表示条件表达式结束,代码块开始代码块:必须缩进(通常是4个空格),表示属于该条件的分支。缩进必须一致,Python对缩进非常严格,同一代码块必须使用相同数量的空格。示例代码如下:#年龄验证功能age=18ifage>=18:print("您已成年,可以进入!")#条件成立执行该代码print("程序继续执行...")#这行代码无论条件是否成立都会执行2.双分支选择结构双分支选择结构用于在程序执行过程中,同时对满足条件和不满足条件做出相对应的处理,根据条件表达式的真假结果,在两个不同的代码块中选择一个执行。if-else其语法格式如下:if条件表达式:
代码块1else:
代码块22.双分支选择结构条件表达式:一个返回布尔值(True或False)的表达式,用于决定执行哪个分支。代码块1:当条件表达式结果为True时执行的代码。代码块2:当条件表达式结果为False时执行的代码。示例代码如下:age=18ifage>=18:print("已成年")else:print("未成年")3.多分支选择结构多分支选择结构用于处理多个互斥条件的情况。当程序需要根据不同的条件执行不同的代码块时,使用多分支结构可以让逻辑更加清晰。Python中的多分支结构通过if-elif-else语句实现。其语法格式如下所示。if条件1:
代码块1elif条件2:
代码块2...#可扩展多个elifelse:
代码块n #所有条件均不满足时执行3.多分支选择结构3.多分支选择结构elif:可重复使用,条件按顺序评估,前一个条件满足则跳过后续判断。else:可选,位于末尾,处理所有条件均不满足的情况。示例代码如下:score=85ifscore>=90:print("优秀")elifscore>=80:print("良好")elifscore>=70:print("中等")else:print("不及格")4.if嵌套选择结构if嵌套选择结构是指在一个分支结构的代码块内部包含另一个完整的分支结构。这种结构用于处理更复杂的条件逻辑,当需要在外层条件成立的基础上进一步判断内层条件时使用。其语法格式如下所示。if外层条件表达式:
代码块 #外层条件成立时执行的代码
if内层条件表达式1:
代码块1 #内层条件1成立时执行的代码
elif内层条件表达式2:
代码块2 #内层条件2成立时执行的代码
else:
代码块 #内层条件都不成立时执行的代码else:
代码块 #外层条件不成立时执行的代码4.if嵌套选择结构缩进层级:内层if必须比外层多一级缩进,明确代码块的归属。错误缩进会导致逻辑错误或语法异常。条件表达式:避免使用赋值运算符(如=),推荐用==、in等比较运算符。执行流程:外层条件先判断,满足时才进入内层判断。if嵌套选择结构流程图如图2-4所示。4.if嵌套选择结构示例代码如下:money=1 #1表示有钱seat=1 #1表示有空座ifmoney==1:print("请上车")ifseat==1:print("有空位,请坐")else:print("无空座,请站立")else:print("无钱禁止上车")任务实施--任务分析本任务旨在通过成绩等级评定系统的开发,帮助读者掌握Python分支结构的核心概念和实际应用。分支结构是程序实现逻辑判断和决策能力的基础,对于培养计算思维至关重要。任务设计从简单的单分支判断入手,逐步深入多条件选择和嵌套分支,构建了完整的学习路径。读者首先学习使用单分支结构进行基本的及格线判断;在此基础上,引入多分支结构处理复杂的等级划分,通过elif实现对不同分数区间的精确判断;最后,通过嵌套分支结构展示在满足前提条件下进一步细分奖励机制的方法。任务实施--任务分析任务实现1、单分支结构进行及格判断。示例代码如下:print("="*30)print("
成绩等级评定系统")print("="*30)score=float(input("请输入成绩:")) #输入成绩ifscore>=60:print("成绩及格")任务实施--任务分析任务实现2.多分支结构进行等级评定。示例代码如下:ifscore>=90:grade="优秀"
comment="表现非常出色!"elifscore>=80:grade="良好"
comment="表现不错!"elifscore>=70:grade="中等"
comment="继续努力!"elifscore>=60:grade="及格"
comment="需要加强学习!"else:grade="不及格"
comment="要加油了!"print(f"成绩:{score}分\n等级:{grade}\n评语:{comment}")任务实施--任务分析任务实现3.嵌套分支进行特殊奖励。示例代码如下:ifscore>=60:ifscore>=95:print("获得学习标兵奖励!")elifscore>=85:print("获得进步之星奖励!")print("\n"+"="*30)print("评定完成")print("="*30)任务总结通过本任务的实践,读者应能够独立编写具备基本决策能力的程序,为后续学习更复杂的循环结构和函数封装打下坚实的基础。分支结构不仅是语法知识,还是构建智能程序逻辑的基石。任务测试一、选择题1.已知x=11,y=22,z=33,以下代码执行后x,y,z的值分别是()。ifx<y:z=xx=yy=zA.11,22,33 B.11,22,22 C.22,11,11 D.22,11,332.关于Python分支结构,以下说法正确的是()。A.if语句必须有else子句B.elif是elseif的缩写,用于处理多个条件分支C.条件表达式只能使用比较运算符,不能使用逻辑运算符D.if语句的条件后面需要加冒号,但else后面不需要任务测试一、选择题3.以下代码的输出结果是()。x=10ifx>5:print("A")elifx>8:print("B")else:print("C")A.A B.B C.C D.同时输出A和B4.关于嵌套条件结构,以下说法错误的是()。A.在if语句内部可以再嵌套其他的if语句B.嵌套层次过多会影响代码的可读性C.嵌套条件结构中,每层缩进必须保持一致D.嵌套条件只能用if-else,不能使用elif任务测试二、编程题1.编写程序,实现判断用户输入的数是奇数还是偶数。2.编程实现,从键盘输入一个年份,判断这个年份是否为闰年。任务2.5循环结构任务描述本任务要求学习循环结构在重复任务处理中的应用,掌握while循环和for循环的适用场景及语法规则。通过break和continue控制循环流程,能够编写高效、灵活的循环程序解决实际问题。任务准备本任务要求学习循环结构在重复任务处理中的应用,掌握while循环和for循环的适用场景及语法规则。通过break和continue控制循环流程,能够编写高效、灵活的循环程序解决实际问题。
for循环for循环用于遍历可迭代对象(如列表、元组、字符串、字典、集合、文件行等),每次迭代自动获取当前元素并运行代码块,是Python中最常用的循环结构之一。While循环while循环是Python中基于条件判断的循环结构,它的核心逻辑是“只要条件为真,就重复执行循环体”。循环控制Python中提供了两个循环控制符break和continue用于改变循环的执行流程,其中break语句用于立即退出循环,continue语句用来跳过当前循环体的剩余部分并开始下一次迭代。1.遍历循环for语句for循环用于遍历可迭代对象(如列表、元组、字符串、字典、集合、文件行等)。其语法格式如下:for变量in可迭代对象:
循环体代码块 #每次迭代执行的代码块示例代码如下:fruits=['apple','banana','cherry']forfruitinfruits:print(f"我喜欢吃{fruit}")1.遍历循环for语句for循环与range()函数结合使用,可以对range()函数生成的数字序列进行遍历,语法格式如下:for变量inrange(start,stop,step):
循环体代码块range()函数用于生成数字序列,语法格式如下:range(start,stop,step)start为起始值,默认为0;stop为结束值,运行时不包含该值;step为步长,默认为1.2.条件循环while语句while循环是Python中基于条件判断的循环结构,它的核心逻辑是“只要条件为真,就重复执行循环体”。与for循环的确定性迭代不同,while循环适用于循环次数不确定的场景,比如用户交互、状态监控、数据流处理等。其语法格式如下:while条件表达式:
循环体代码块 #条件为真时执行的代码块以上格式中while关键字和冒号分别标识着while语句的开始和结束,循环条件与while关键字以空格分隔,代码块通过缩进与while语句产生关联。示例代码如下:i=1sum=0whilei<=50:ifi%2==0:sum+=ii+=1 #重要:不要忘记更新条件变量print("1~50之间的偶数和为:",sum)3.循环控制语句循环语句在条件满足的情况下会一直执行,但是在某些情况下需要跳出循环语句,Python中提供了两个循环控制符break和continue用于改变循环的执行流程。1)break语句break语句用于立即终止当前循环,跳出整个循环结构,继续执行循环之后的代码。下面在列表中查找第一个偶数并退出,示例代码如下:numbers=[3,7,2,9,4]fornuminnumbers:ifnum%2==0:print(f"找到第一个偶数:{num}")break3.循环控制语句2)continue语句continue语句用于跳过当前迭代的剩余代码,直接开始下一次循环迭代。它不会终止整个循环,只是放弃当前轮次的执行。下面打印1到10中的所有奇数,示例代码如下:foriinrange(1,11):ifi%2==0:continueprint(i,end="")3.循环控制语句3)pass语句pass是Python中的空操作语句,当语法上需要语句但程序不需要任何操作时使用。它主要作为占位符,保持代码结构的完整性,同时在运行时不做任何事情。下面使用pass语句预留代码块(如未实现的函数),示例代码如下:fornuminrange(5):ifnum==3:pass #暂不处理数字3else:print(num,end="")任务实施--任务分析本任务通过构建BMI健康评估系统这一贴近生活的实用场景,将数学计算、条件判断与循环结构有机结合,帮助读者掌握Python分支结构和循环结构的核心概念和实际应用。BMI(BodyMassIndex)是国际通用的衡量人体胖瘦程度和健康状态的标准指标,计算公式为:体重(kg)除以身高(m)的平方。本任务根据BMI指数进行健康评估并输出健康建议。如表2-10所示。表2-10
BMI指数与健康状况对照表BMI指数<18.518.5~2525~30>30健康状况偏瘦正常超重肥胖任务实施--任务分析任务实现1.无限循环构建主程序框架采用无限循环结构建立系统主框架,实现多用户连续评估功能,并通过计数器统计评估人数。示例代码如下:print("="*40)print(“BMI健康评估系统")print("="*40)#while循环-持续评估count=0whileTrue:count+=1print(f"\n第{count}位用户")print("-"*20)任务实施--任务分析任务实现1.无限循环构建主程序框架#输入用户信息
name=input("请输入姓名(输入quit退出):")
#break-退出循环
ifname=="quit":break
height=float(input("请输入身高(cm):"))weight=float(input("请输入体重(kg):"))任务实施--任务分析任务实现1.无限循环构建主程序框架#计算BMIheight_m=height/100bmi=weight/(height_m*height_m)
print(f"\n【评估结果】")print(f"姓名:{name}")print(f"身高:{height}cm")print(f"体重:{weight}kg")print(f"BMI指数:{bmi:.1f}")任务实施--任务分析任务实现2.多分支结构进行健康状况判断示例代码如下:ifbmi<18.5:status="体重过轻"
advice="建议增加营养摄入"
elifbmi<25:status="正常范围"
advice="保持良好生活习惯"
elifbmi<30:status="超重"
advice="建议适当控制饮食"
else:status="肥胖"
advice="建议咨询专业医生"
print(f"健康状况:{status}")print(f"健康建议:{advice}")任务实施--任务分析3.循环控制示例代码如下:print("\n"+"-"*30)continue_choice=input("是否继续评估?(y/n):")
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 太阳能电池基础知识
- (正式版)DB15∕T 4369-2026 内蒙古绒山羊羔羊放牧补饲育肥技术规程
- 2026年淄博市检验检测计量研究总院高层次人才招聘(4名)考试备考题库及答案解析
- 2026云南临沧云县后箐彝族乡人民政府社会招聘社会救助经办员1人笔试备考试题及答案解析
- 2026年黑龙江省五大连池市公证处招聘1人笔试备考题库及答案解析
- 2026年及未来5年市场数据中国高端物业管理行业发展运行现状及投资战略规划报告
- 2026中国石油大学(北京)克拉玛依校区第二批实验员和辅导员岗位招聘笔试模拟试题及答案解析
- 2026年马鞍山和县医疗卫生事业单位校园招聘工作人员10名考试备考题库及答案解析
- 2026江苏镇江市丹徒区卫生健康委员会所属事业单位校园招聘专业技术人员6人考试模拟试题及答案解析
- 2026年湖南怀化靖州苗族侗族自治县招聘23名事业单位工作人员笔试备考题库及答案解析
- 海南绿色建筑设计说明专篇
- 初中数学人教版七年级下册平面直角坐标系平面直角坐标系平面直角坐标系
- RB/T 039-2020检测实验室仪器设备计量溯源结果确认指南
- JB/T 20192-2018药用螺旋输送机
- GB/T 5132.5-2009电气用热固性树脂工业硬质圆形层压管和棒第5部分:圆形层压模制棒
- 呼吸衰竭和急性呼吸窘迫综合征
- 骨折病人的院前急救课件
- 仓库发货清单
- 河南省专升本英语语法专项练习题6
- 食材配送售后服务方案
- 部编版语文八年级下册三、情境式默写课件(共4张PPT)
评论
0/150
提交评论