python3 第四章课后习题答案

目录

1.选择题

2.简答题

(1)程序流程图包括哪些元素?

(2)pass语句的作用是什么?

(3)跳转语句break和continue的区别是什么?

(4)简述for循环和while循环的执行过程。

3.阅读程序

(1)下面程序的功能是什么?

(2)以下程序的输出结果是什么?

(3)下面程序的输出结果是什么?

4.编程题

(1)给定某一字符串s,对其中的每一字符c进行大小写转换:如果c是大写字母,将它转换成小写字母;如果c是小写字母,则将它转换成大写字母;如果不是字母,则不进行转换。

(2)输入一个整数,将各位数字反转后输出

(3)计算1^2-2^2+3^2-4^2+···+97^2-98^2+99^2

(4)一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因比6就是“完数”。请编程找出100内的所有完数。

(5)输人两个正整数m和n,求其最大公约数和最小公倍数。

提示:在循环中,用较大数(初始值为m、n中的较大数)除以较小的数(初始值为m、n中的较小数),然后将小的一个数作为下一轮循环中较大的数,较大数除以较小数所取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0时,返回较大的数,此数即为m和n的最大公约数、最小公倍数为两数之积除以最大公约数。

(6)输入一元二次方程的3个系数a,b,c,求方程ax^2+bx+c的根


1.选择题

1.c

2.b:这道题,我做错了,我就写一下注释,x=2为整型,y=2.0为浮点型,两者不能用于作比较,作比较可定是不相等。

3.a 4.d 5.a 6.d 7.b 8.d 9.c 10.d 11.a

12.d:这道题我也做错了,就解释一下。strip([char])在字符串上指向lstrip()删除左边的空格和rstrip()删除末尾的空格,s.strip(",")为删除最左边和最右边两侧的逗号,最左侧没有逗号,最右侧有逗号,那就删去。replace(",",";")将逗号替换成分号,strip在前先执行strip,后执行replace,所以为d选项。

2.简答题

(1)程序流程图包括哪些元素?

控制流;处理流;判断流;起始框和结束框

(2)pass语句的作用是什么?

pass为空语句,一般用作占位,该语句不影响其后语句的执行,为了保持程序结构的完整性而设计的

(3)跳转语句break和continue的区别是什么?

break语句:从循环体内部跳出,即结束循环,俗称断路语句

continue语句:终止当前这一轮语句,即跳过本轮剩余的语句,直接进入下一轮语句,俗称短路语句

区别:break是跳出循环,即结束循环;continue是跳出本次循环,如果循环还是没结束,那就进入下一次循环。

(4)简述for循环和while循环的执行过程。

for循环在每次循环之前都会执行初始化部分,然后判断循环条件是否满足,如果满足,则执行循环体内的代码,再执行循环变量的更新操作。

while循环:每次循环执行之前会先判断是否满足循环条件,如果满足则执行循环体内代码

for循环简洁,适合循环次数已知的情况,while循环更加灵活,适合循环次数未知的情况下使用

3.阅读程序

(1)下面程序的功能是什么?

a,b=2,1
sum=0
for i in range(20):
   sum+=a/b
   t=a
   a=a+b
   b=t
print(sum)

先是给a,b,sum赋值,分别是2,1,0;然后是利用 for循环,每次循环都将 a除以 b加 sum的值赋值给sum,t为中间变量,将a+b的值赋值给a,将a原先的值赋值给b,循环20次后打印 sum的值。

(2)以下程序的输出结果是什么?

for i in range(1,8):
 if i%4==0:
     break
 else:
     print(i,end=",")

i从1开始,到4结束,假如 i%4=0,则会跳出循环,反之,打印 i的值。

i=1,i=2,i=3,输出结果:1,2,3,

(3)下面程序的输出结果是什么?

x="god"
y=""
for i in x:
    y+=str(ord(i)-ord('a'))
print(y)

ord()函数用于返回表示单个字符的Unicode码点。你也可以理解为ASCII值。

ord(character)其中character:表示要获取的unicode码点的字符。逆操作是chr()函数,它是接受一个Unicode码点,并返回对应的字符

print(ord('A'))  # 输出 65,因为大写字母 A 的 Unicode 码点是 65
print(ord('€'))  # 输出 8364,因为欧元符号 € 的 Unicode 码点是 8364

str()用于将给定的对象转换为字符串。

num = 42 str_num = str(num) # 将整数 42 转换为字符串 '42' 
​
float_num = 3.14 
str_float_num = str(float_num) # 将浮点数 3.14 转换为字符串 '3.14' 
​
my_list = [1, 2, 3] 
str_list = str(my_list) # 将列表 [1, 2, 3] 转换为字符串 '[1, 2, 3]'

输出结果:6143

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值