Python实战编程教学第5章 选择语句
- 格式:ppt
- 大小:783.50 KB
- 文档页数:26
第五章答案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语言程序设计美梁勇第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个学生的平均成绩。
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.在函数内部直接修改形参的值并不影响外部实参的值。
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.取余。
python选择语句例题
嘿,朋友们!咱今天就来聊聊 Python 选择语句那些事儿。
你知道吗,就像我们在生活中要根据不同情况做出选择一样,Python 里的选择语
句也是超厉害的!比如说,你在纠结今天出门穿哪双鞋,是运动鞋呢,还是皮鞋,这就好比 Python 里的 if 语句在判断条件呢!
咱来看个具体例子哈,比如你想写个程序,判断一个数是不是大于50。
就可以这样写:
```python
num = 60
if num > 50:
print("这个数大于 50 呀!")
```
看到没,这就像你明确知道了穿运动鞋更适合跑步,然后就果断选
择了运动鞋一样清晰明了呀!
再来说说 elif 语句,这就好像你除了运动鞋和皮鞋,还有双凉鞋可
以选。
比如下面这个例子:
```python
score = 75
if score >= 90:
print("优秀!")
elif score >= 70:
print("良好!")
else:
print("加油哦!")
```
这是不是很形象呀!这就跟你根据不同场合选择不同鞋子一样合理嘛。
还有哦,选择语句在处理各种情况时那可真是太有用啦!就像你在面对不同天气决定带不带伞一样重要。
想象一下,要是没有这些选择语句,程序不就变得死板啦?那可不行呀!
我觉得呀,Python 的选择语句就像是一把神奇的钥匙,能打开各种不同的可能性之门,让程序变得更加灵活和智能。
大家可得好好掌握它呀,不然可就亏大啦!。
python 选择表达式Python 选择表达式选择表达式是Python 3.8中新增的语法,用于简化条件表达式的编写。
它的语法如下:result = value_if_true if condition else value_if_false 其中,如果条件表达式condition的计算结果为真,则result 的值为value_if_true;否则,result的值为value_if_false。
下面我们来逐步解析选择表达式的语法和作用。
1. 简化条件表达式在以前的Python版本中,我们通常使用if-else语句来实现条件表达式,例如:if x > y:max_value = xelse:max_value = y这个if-else语句可以使用选择表达式简化为:max_value = x if x > y else y仅仅用一行代码就可以完成条件表达式的判断操作,使代码更加简洁明了。
2. 处理多重条件表达式选择表达式也可以用于处理多重条件表达式。
例如:if x > y:max_value = xelif x == y:max_value = 0else:max_value = y我们可以使用选择表达式简化为:max_value = x if x > y else 0 if x == y else y这种写法虽然看起来有些复杂,但是却可以用一行代码进行多重条件的判断。
这种写法不仅简化了代码,还更加清晰明了,让代码看起来更加精简。
3. 简化lambda表达式如果你经常使用lambda表达式,你会发现选择表达式可以让你的lambda函数更加简化。
例如:list_data = [1, 2, 3, 4, 5]result = list(map(lambda x: x**2, list_data))这个例子中,我们使用了lambda表达式来计算list_data中每个元素的平方值。
python从⼊门到实践课后习题第五章"""5-1 条件测试:编写⼀系列条件测试;将每个测试以及你对其结果的预测和实际结果都打印出来。
你编写的代码应类似于下⾯这样:car = 'subaru'print("Is car == 'subaru'? I predict True.")print(car == 'subaru')print("\nIs car == 'audi'? I predict False.")print(car == 'audi')详细研究实际结果,直到你明⽩了它为何为 True 或 False 。
创建⾄少 10 个测试,且其中结果分别为 True 和 False 的测试都⾄少有 5 个。
"""car = 'audi'print(car == 'subaru')print(car == 'audi')name = 'Louie'print(name == 'link')print(name == 'louie')print(name.lower() == 'louie')"""5-2 更多的条件测试:你并⾮只能创建 10 个测试。
如果你想尝试做更多的⽐较,可再编写⼀些测试,并将它们加⼊到 conditional_tests.py 中。
对于下⾯列出的各种测试,⾄少编写⼀个结果为 True 和 False 的测试。
检查两个字符串相等和不等。
使⽤函数 lower() 的测试。
检查两个数字相等、不等、⼤于、⼩于、⼤于等于和⼩于等于。
使⽤关键字 and 和 or 的测试。
本文将详细介绍Python语言中的三种选择语句:if语句,if/else语句和if/elif/else 语句。
对于每种语句,我们都提供了相应的流程图。
与此同时,我们给出许多简单的示例程序,以帮助读者加深理解。
一、程序的控制结构对于Python程序中的执行语句,默认时是按照书写顺序依次执行的,这时我们说这样的语句是顺序结构的。
但是,仅有顺序结构还是不够的,因为有时候我们需要根据特定的情况,有选择地执行某些语句,这时我们就需要一种选择结构的语句。
另外,有时候我们还可以在给定条件下往复执行某些语句,这时我们称这些语句是循环结构的。
有了这三种基本的结构,我们就能够构建任意复杂的程序了。
对本文来说,我们要讨论的是三种基本程序结构中的选择结构,它们分别用if语句、if/else 语句和if/elif/else语句实现。
至于其它两种控制结构,我们会在后续的文章中陆续加以介绍。
下面我们首先介绍if语句。
二、if语句Python的if语句的功能跟其他语言的非常相似,都是用来判定给出的条件是否满足,然后根据判断的结果(即真或假)决定是否执行给出的操作。
If语句是一种单选结构,它选择的是做与不做。
它是由三部分组成:关键字if本身、测试条件真假的表达式(我们简称为条件表达式)和表达式结果为真(即表达式的值为非零)时要执行的代码。
If语句的语法形式如下所示:if 表达式:语句体if语句的流程图如下所示:图1 if语句的流程示意图注意,if语句的语句体只有当条件表达式的值为真,即非零时,才会执行;否则的话,程序就会直接跳过这个语句体,去执行紧跟在这个语句体之后的语句。
我们这里的语句体,既可以包含多条语句,也可以只有一条语句组成,但是语句体由多条语句组成时,要有统一的缩进形式,否则就会出现逻辑错误,即语法检查没错,但是结果却非预期。
现在我们用一个示例程序来演示一下if语句的用法。
我们的程序很简单的,只要用户输入一个整数,如果这个数字大于6,那么就输出一行字符串;否则,直接退出程序。
第五章课后习题1. 在操作字符串时,需要把两个或多个字符串连接成一个字符串,可以使用对于这种需求,连接操作符或者字符串对象方法实现。
【参考答案】+ join()2.编写程序,由给定字符串随机生成一个6位密码。
【参考答案】import randoms = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*"pwd = ''.join((random.choice(s) for i in range(6)))print(pwd)3.编写程序,把A bad workman quarrels with his Tools.中的T替换为t。
【参考答案】方法一:s = 'A bad workman quarrels with his Tools.'s = s.replace('T','t')print(s)方法二:import res = 'A bad workman quarrels with his Tools.'result = re.sub(r'\bT', 't', s)print(result)4. 简单说明什么是正则表达式以及其作用。
【参考答案】正则表达式是用来描述或者匹配一系列符合某个句法规则的字符串。
在很多文本编辑器或其他工具里,正则表达式通常被用来检索或替换那些符合某种模式的文本内容。
5.有一国外电话号码“2004-959-559 # 这是一个国外电话号码”,编写程序,去除其中的注释和“-”。
【参考答案】import rephone = "2004-959-559 # 这是一个国外电话号码"# 删除字符串中的Python注释num = re.sub(r'#.*$', "", phone)print("电话号码是: ", num)# 删除非数字(-)的字符串num = re.sub(r'\D', "", phone)print("电话号码是: ", num)。
填空题1、表达式[1, 2, 3]*3的执行结果为__[1,2,3,1,2,3,1,2,3]____________________。
([1, 2, 3, 1, 2, 3, 1, 2, 3])2、list(map(str, [1, 2, 3]))的执行结果为_____[‘1’,’2’,’3’]________________。
([‘1’, ‘2’, ‘3’])3、表达式“[3] in [1, 2, 3, 4]”的值为____F____________。
(False)4、列表对象的sort()方法用来对列表元素进行原地排序,该函数返回值为none 。
(None)5、假设列表对象aList的值为[3, 4, 5, 6, 7, 9, 11, 13, 15, 17],那么切片aList[3:7]得到的值是________ [6,7,8,9,11]______________。
([6, 7, 9, 11])6、任意长度的Python列表、元组和字符串中最后一个元素的下标为___-1_____。
(-1)7、Python语句list(range(1,10,3))执行结果为__[1,4,7]_________________。
([1, 4, 7])8、表达式list(range(5)) 的值为_[0,1,2,3,4]_______________。
([0, 1, 2, 3, 4])9、______del________命令既可以删除列表中的一个元素,也可以删除整个列表。
(del)10、已知a = [1, 2, 3]和b = [1, 2, 4],那么id(a[1])==id(b[1])的执行结果为___T________。
(True)11、切片操作list(range(6))[::2]执行结果为______[0,2,4]__________。
([0, 2, 4])12、表达式(1, 2, 3)+(4, 5) 的值为__(1,2,3,4,5)________________。