Python实战编程教学第5章 选择语句
python程序设计基础课后习题答案(第五章)

第五章答案5.2:实现i s o d d()函数,参数为整数,如果参数为奇数,返回t r u e,否则返回f a l s e。
def isodd(s):x=eval(s)if(x%2==0):return Falseelse:return Truex=input("请输入一个整数:")print(isodd(x))请输入一个整数:5True5.3:实现i s n u m()函数,参数为一个字符串,如果这个字符串属于整数、浮点数或复数的表示,则返回t r u e,否则返回f a l s e。
def isnum(s):try:x=eval(s)if((type(x)==int)|(type(x)==float)|(type(x)==complex)):return Trueelse:return Falseexcept NameError:return Falsex=input("请输入一个字符串:")print(isnum(x))请输入一个字符串:5True题5.4:实现m u l t i()函数,参数个数不限,返回所有参数的乘积。
def multi(x):xlist=x.split(",")xlist = [int(xlist[i]) for i in range(len(xlist))] #for循环,把每个字符转成int值num=1for i in xlist:num=num*iprint(num)s=input("请输入数字,并用,号隔开:")multi(s)请输入数字,并用,号隔开:5,420题5.5:实现i s p r i m e()函数,参数为整数,要有异常处理,如果整数是质数返回t u r e,否则返回f a l s e。
try:def isprime(s):i=2m=0for i in range(2,s-1):if(s%i==0):i+=1m+=1else:i+=1if(m>0):return Falseelse:return Trueexcept NameError:print("请输入一个整数!")s=eval(input("请输入任意一个整数:")) print(isprime(s))请输入任意一个整数:9False。
精品课件python中if条件选择语句

判断两个操作数是否相等,相等则 返回True,否则返回False。
不等于运算符(!=)
判断两个操作数是否不相等,不相 等则返回True,否则返回False。
大于运算符(>)
判断左操作数是否大于右操作数, 如果是则返回True,否则返回False 。
小于运算符(<)
判断左操作数是否小于右操作数,如 果是则返回True,否则返回False。
多重条件判断:可以使用多个`if`-`elif`-`else`结构进行 更复杂的条件判断。
switch-case结构:尽管Python没有内置的`switch``case`结构,但可以通过字典映射、多个`if`-`elif`语句 或其他方式模拟实现类似功能。
THANKS
感谢观看
try-except结合if语句使用
处理其他类型的异常
print("捕获到未知异常:", e)
try-except结合if语句使用
print("操作成功,结果是 :", result)
如果没有异常发生,执行 此代码块eΒιβλιοθήκη se0103 02
try-except结合if语句使用
01
finally
02
result = dividend / divisor
案例分析:除法运算异常处理
01
print("结果是:", result)
02 except ZeroDivisionError as e
03 print("发生除零错误:", e)
案例分析:除法运算异常处理
except Exception as e print("发生未知错误:", e)
Python语言程序设计美梁勇第5章习题解答

Python语言程序设计美梁勇第5章习题解答第5章习题解答一、选择题1. 在Python中,下列哪个不是有效的变量名?A. 1nameB. Name1C. _nameD. name_1正确答案:A. 1name2. 下列哪个运算符不是Python的算术运算符?A. +B. *C. /D. %正确答案:D. %3. 在Python中,下列哪个是赋值运算符?A. ==B. >C. +=D. and正确答案:C. +=4. 下列关于列表的描述中,哪个是错误的?A. 列表是一种有序的集合B. 列表可以包含不同的数据类型C. 列表的索引是从0开始的D. 列表可以通过下标修改其中的元素正确答案:B. 列表可以包含不同的数据类型5. 下列关于字典的描述中,哪个是正确的?A. 字典是一种有序的集合B. 字典的每个元素都有一个对应的键和值C. 字典的元素可以通过索引来访问D. 字典中的键必须是字符串类型正确答案:B. 字典的每个元素都有一个对应的键和值二、编程题1. 编写一个函数,接受一个字符串作为参数,返回该字符串的长度。
```pythondef calculate_length(string):return len(string)```2. 编写一个程序,要求用户输入两个数字,并计算它们的和、差、积和商,最后将结果输出。
```pythonnum1 = float(input("请输入第一个数字:"))num2 = float(input("请输入第二个数字:"))add = num1 + num2subtract = num1 - num2multiply = num1 * num2divide = num1 / num2print("两个数字的和:", add)print("两个数字的差:", subtract)print("两个数字的积:", multiply)print("两个数字的商:", divide)```3. 定义一个列表,其中包含5个学生的成绩,计算并输出这5个学生的平均成绩。
第5章 python列表_python入门、python基础课件

课堂练习
1、练习列表的定义和简单使用 2、练习服务列表中的元素 3、练习修改、添加、删除列表元素 4、练习列表的常用方法
Thanks for your attention
另外,可通过reverse或key参数(使用某个函数)来设置列表的排列方式:
nums = [1, 2, 3, 9, 7, 6, 5]
nums.sort(reverse = True)
words = [‘ada’, ‘Dlone’, ‘a’, ‘An’, ‘dabc’, ‘cpack’] #key=str.lower words.sort(key=len) #reverse和key参数可以同时使用
列表常用方法
12.min()
快速获得序列的最小元素。
numbers = [100, 23, 78] min(numbers)
特别注意
使用列表特别要注意索引越界问题,避免出错
cars = [‘bmw’, ‘audi’, ‘toyota’, ‘subaru’, ‘lexus’] print(cars[5]) cars = [] cars[0]
一、添加列表元素 在列表中添加新元素时,最简单的方式是使用append()方法将元素附到列表末尾。 motorcycles = [] motorcycles.append(‘honda’) motorcycles.append(‘yamaha’) motorcycles.append(‘suzuki’)
注意:字符串可以和字符串相加,但列表不能和字符串直接相加
列表的加法和乘法
二、列表的乘法 将列表与数x相乘,将可以重复产生x个列表。 a = [1, 3, 5] b = a *5 c = ‘Hello’ c *= 5 s = [None] * 10
Python实用案例教程 第5章 数组

#修改第1行为[11,22]。
#修改第1个元素"
4. 删除
可以根据需要删除已经创建的数组的元素。 例如: >>> a = np.array([[1,2],[3,4],[5,6]]) >>> np.delete(a,1,axis = 0) array([[1, 2], [5, 6]]) >>> np.delete(a,(1,2),0) array([[1, 2]]) >>> np.delete(a,1,axis = 1) array([[1], [3], [5]]) #删除a的第2行 #删除a的第2,3行 #删除a的第2列
3. 修改
可以根据需要修改已经创建的数组的元素值。 例如: >>> a = np.array([[1,2],[3,4],[5,6]]) >>> a[0] = [11,22] >>> a array([[11, 22], [ 3, 4], [ 5, 6]]) >>> a[0][0] = 100 >>> a array([[100, 22], [ 3, 4], [ 5, 6]])
可以在创建数组包含的元素基础上增加元素,增加元素的方式有多种,通过hstack函数能将两个 多维数组在水平方向上堆叠,通过vstack函数能将两个多维数组在垂直方向上堆叠。 例如:
>>> import numpy as np >>> a = np.array([[1,2],[3,4],[5,6]]) >>> b = np.array([[-1,-2],[-3,-4],[-5,-6]]) >>> c=np.vstack((a,b)) >>> c array([[ 1, 2], [ 3, 4], [ 5, 6], [-1, -2], [-3, -4], [-5, -6]]) >>> d=np.hstack((a,b)) >>> d array([[ 1, 2, -1, -2], [ 3, 4, -3, -4], [ 5, 6, -5, -6]]) >>> a1 = np.array([[1],[2]]) >>> a1 #一个2行列向量 array([[1], [2]]) >>> b1=[10,20,30] #一个3列行向量 >>> a1+b1 #生成2行3列矩阵 array([[11, 21, 31], [12, 22, 32]])
XX医学院本科各专业《Python》第五章习题与答案-2020年精品

XX医学院本科各专业《Python》第五章习题与答案一、选择题1.Python中定义函数的关键字是(A)A.defB.defineC.functionD.defunc2. 下列不是使用函数的优点的是(D)A.减少代码重复 B.使程序更加模块化C.使程序便于阅读 D.为了展现智力优势3.关于函数参数传递中,形参与实参的描述错误的是( D)。
A.python实行按值传递参数。
值传递指调用函数时将常量或变量的值(实参)传递给函数的参数(形参)B.实参与形参存储在各自的内存空间中,是两个不相关的独立变量C.在参数内部改变形参的值,实参的值一般是不会改变的D.实参与形参的名字必须相同4. 关于Python的lambda函数,以下选项中描述错误的是(B )mbda函数将函数名作为函数结果返回B.f = lambda x,y:x+y 执行后,f的类型为数字类型mbda用于定义简单的、能够在一行内表示的函数D.可以使用lambda函数定义列表的排序原则:以下选项不是函数作用的是(A5.)A.提高代码执行速度B.增强代码可读性C.降低编程复杂度D.复用代码以下关于函数说法错误的是(D)6.:A.函数可以看做是一段具有名字的子程序B.函数通过函数名来调用C.函数是一段具有特定功能的、可重用的语句组D.对函数的使用必须了解其内部实现原理7. 以下关于函数调用描述正确的是:(A)A.自定义函数调用前必须定义B.函数在调用前不需要定义,拿来即用就好C.Python内置函数调用前需要引用相应的库D.函数和调用只能发生在同一个文件中8. 关于return语句,以下选项描述正确的是:(D)A.函数中最多只有一个return语句B.函数必须有一个return语句C.return只能返回一个值D.函数可以没有return语句9.下面说法正确的是:(B)def f(a,b):a = 4return a + bdef main():m = 5n = 6print(f(m,n),m + n)main()A.m、n为形式参数B.程序的输出结果为10 11C.a、b为实际参数D.以上说法均不正确10.以下关于Python函数说法错误的是:(B)def func(a,b):c = a ** 2 + bb = areturn ca = 10b = 100c = func(a,b) + aA.该函数名称为funcB.执行该函数后,变量c的值为200C.执行该函数后,变量a的值为10D.执行该函数后,变量b的值为10011.max()函数的作用是(C)A.求两个数的最大值B.求三个数的最大值C.返回若干数的最大值D.返回若干数的最小值()12. 哪个选项对于函数的定义是错误的?CA.def vfunc(a,*b):B.def vfunc(a,b=2):C.def vfunc(*a,b):D.def vfunc(a,b):13.下列说法错误的是(D)A.在函数内部直接修改形参的值并不影响外部实参的值。
第05章:Python 控制流语句(II)

range 类型介绍
• range 也是一种类型(type),它是一个数字的序列(s sequence of numbers),而且是不可变的,通常 用在for循环中
• 每次使用range( )默认返回一个列表对象。
>>> mlist = range(10) 说明:首先在内存中构建一个列表对象再并将0~9数字添加到列表中。
• 步骤4:拆分金额的每一位数字,并存放到一个列表中保存
比如,拆分数字 213 每一位
个位:( 213/1)%10 十位:( 213/10 )%10 百位:( 213/100 )%10 …… 公式: (数字 / 10位数幂)%10
实战任务1
Code说明:
• [行:29] for循环的次数为 步骤3 中计算出来的金额位数count • [行:33] (数字 / 10位数幂)%10 转换成Python语法为:(数字/10**位数)%10 • [行:35] 将拆分出来的位数存放到mlist列表中,使用append( )压栈的结果是个位在先,即 mlist [3, 1, 2]
控制流语句(II)
实战任务1. 银行金额大写汉字转换
使用For循环实现数字转换成大写汉字算法
实战任务1
• 银行电子支票业务在金额部分需要使用大写的汉字,因此需要将用户录入的数字信息转变为汉字。 • 目前只需完成1~5位整数转换即可。
输入金额:> 32542 汉字转换:> 叁 萬 贰 仟 伍 佰 肆 拾 贰 圆 整
>>> a = range(10) >>> type(a) <type: list> >>> b = xrange(10) >>> type(b) <type: xrange>
python核心编程第二版第5章习题答案

5-1.整型。
讲讲Python普通整型和长整型的区别。
答案:Python的标准整数类型是最通用的数字类型。
在大多数32位机器上,标准整数类型的取值范围是-2**31到2**31-1.Python的长整数类型能表达的数值仅仅与你的机器支持的(虚拟)内存大小有关,换句话说,Python能轻松表达很大的整数。
长整型类型是标准整数类型的超集,当程序需要使用比标准整型更大的整型时,可以使用长整型类型。
在一个整型值后面加个L,表示这个整型是长整型。
这两种整数类型正在逐渐统一为一种。
剩下的一种整型类型是布尔类型。
即布尔True和布尔False。
5-2.操作符。
(a)写一个函数,计算并返回两个数的乘积。
(b)写一段代码调用这个函数,并显示它的结果。
答案:def multiply(x,y):return x*ya = raw_input('input number 1: ')b = raw_input('input number 2: ')print multiply(float(a),float(b))5-3.标准类型操作符。
写一段脚本,输入一个测验成绩,根据下面的标准,输出他的评分成绩(A-F)。
A:90~100 B:80~89 C:70~79 D:60~69 F:<60答案:score = int(raw_input('input your score: '))if score > 100:print "your score is wrong!!"elif score >= 90:print 'A'elif score >= 80:print 'B'elif score >= 70:print 'C'elif score >= 60:print 'D'else:print 'F'5-4.取余。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择结构应用
或者使用下面的方法直接计算今天是今年的第几天
>>> datetime.date.today().timetuple().tm_yday 208 >>> datetime.date(2015,7,25).timetuple().tm_yday 206
s += i
i += 1
if i > 10:
break
>>> print(s)
55
>>> s = 0
>>> for i in range(0, 11, 1): #遍历迭代对象中的所有元素
s += i
>>> print(s)
55
条件表达式
逻辑运算符and和or以及关系运算符具有惰性求值特点
条件表达式
选择结构应用
▪ datetime还提供了其他功能
>>> now = datetime.datetime.now()
>>> now
datetime.datetime(2015, 12, 6, 16, 1, 6, 313898)
>>> now.replace(second=30)
#替换日期时间中的秒
datetime.datetime(2015, 12, 6, 16, 1, 30, 313898)
if a > b:
a, b = b, a
#序列解包,交换两个变量的值
print(a, b)
单分支选择结构
条件表达式是否成立?
是 语句块 否
if 表达式: 语句块1
else: 语句块2
>>> chTest = ['1', '2', '3', '4', '5'] >>> if chTest:
print(chTest) else:
例3-3:编写程序,判断今天是今年的第几天。
import time
date = time.localtime()
#获取当前日期时间
year, month, day = date[:3]
day_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
>>> if a=3: SyntaxError: invalid syntax >>> if (a=3) and (b=4): SyntaxError: invalid syntax
if 表达式: 语句块
x = input('Input two number:')
a, b = map(int, x.split())
>>> now+datetime.timedelta(days=5) #计算5天后的日期时间
datetime.datetime(2015, 12, 11, 16, 1, 6, 313898)
>>> now + datetime.timedelta(weeks=-5) #计算5周前的日期时间
datetime.datetime(2015, 11, 1, 16, 1, 6, 313898)
if year%400==0 or (year%4==0 and year%100!=0): #判断是否为闰年 day_month[1] = 29
if month==1: print(day)
else: print(sum(day_month[:month-1])+day)
选择结构应用
其中闰年判断可以直接使用calendar模块的方法。
>>> a = 5 >>> print(6) if a>3 else print(5) 6 >>> print(6 if a>3 else 5) 6 >>> b = 6 if a>13 else 9 >>> b 9
双分支结构
#此时还没有导入math模块 >>> x = math.sqrt(9) if 5>3 else random.randint(1, 100) NameError: name 'math' is not defined >>> import math #此时还没有导入random模块,但由于条件表达式5>3的值为True,所以可以正常运行 >>> x = math.sqrt(9) if 5>3 else random.randint(1,100) #此时还没有导入random模块,由于条件表达式2>3的值为False,需要计算第二个表达式的值,因此出错 >>> x = math.sqrt(9) if 2>3 else random.randint(1, 100) NameError: name 'random' is not defined >>> import random >>> x = math.sqrt(9) if 2>3 else random.randint(1, 100)
if 表达式1: 语句块1
elif 表达式2: 语句块2
elif 表达式3: 语句块3
else: 语句块4
其中,关键字elif是else if的缩写。
多分支结构
利用多分支选择结构将成绩从百分制变换到等级制
def func(score): if score > 100: return 'wrong score.must <= 100.' elif score >= 90: return 'A' elif score >= 80: return 'B' elif score >= 70: return 'C' elif score >= 60: return 'D' elif score >= 0: return 'E' else: return 'wrong score.must >0'
L
L
L
K1 K2
(1)or,并联 电路
K1 K2
(2)and,串联 电路
K
(3)not,短 路
条件表达式
▪ 比较特殊的运算符还有逻辑运算符“and”和“or”以及关系运算符,具有短路 求值或惰性求值的特点,只计算必须计算的表达式的值。
▪ 以“and”为例,对于表达式“表达式1 and 表达式2”而言,如果“表达式1” 的值为“False”或其他等价值时,不论“表达式2”的值是什么,整个表达式 的值都是“False”,此时“表达式2”的值无论是什么都不影响整个表达式的 值,因此将不会被计算,从而减少不必要的计算和判断。
▪ 从这个意义上来讲,几乎所有的Python合法表达式都可以作为条件表达式,包 括含有函数调用的表达式。
>>> if 3:
#使用整数作为条件表达式
print(5)
5
>>> a = [1, 2, 3]
>>> if a:
#使用列表作为条件表达式
print(a)
[1, 2, 3]
>>> a = []
>>> if a:
print('Empty')
['1', '2', '3', '4', '5']
双分支结构
条件表达式是否成立?
否 是
语句块2
语句块1
双分支结构
Python还支持如下形式的表达式:
value1 if condition else value2
当条件表达式condition的值与True等价时,表达式的值为value1,否则表达式的值为value2。另 外,在value1和value2中还可以使用复杂表达式,包括函数调用和基本输出语句。这个结构的表 达式也具有惰性求值的特点。
选择结构应用
选择结构应用
也可以使用datetime模块提供的功能来计算
>>> today = datetime.date.today() >>> today datetime.date(2015, 7, 27) >>> firstDay = datetime.date(today.year,1,1) >>> firstDay datetime.date(2015, 1, 1) >>> daysDelta = today-firstDay+datetime.timedelta(days=1) >>> daysDelta.days 208
第5章选择语句
判断语句
红灯停,绿灯行
现实生活中,过马路要看红绿 灯,如果是绿灯才能过马路, 否则需要停止等待。
if 语句
if语句是最简单的条件判断语句, 它可以控制程序的执行流程。
if 判断条件: 满足条件时要做的事情1… 满足条件时要做的事情2… ...(省略)... 满足条件时要做的事情n…