学习Python编程基础及应用时第2章~第4章部分课后习题的代码整理出来,每题尽量用的本章节内容。
文章目录
第二章 变量及简单的数据类型
【2-0】 有若干只鸡和兔在同一个笼子里,从上面数有35个头;从下面数有94只脚
(课本中有另外的解法这里未给出)
# 鸡兔同笼
for a in range(0,36):
for b in range(0,36-a):
if a+b == 35 and 2*a+4*b == 94:
print('鸡的数量:',a,'\n兔的数量:',b)
鸡的数量: 23
兔的数量: 12
第三章 语法初步
【3-0】 地球时间-获取并打印系统当前的格林尼治时间,以及自1970年1月1日零时起至现在,总共流逝的秒数
# 地球时间
import time
curTime = time.time() # 获取当前的时间,从1970.1.1.00:00起经过的秒数,float型
totalSeconds = int(curTime)
curSecond = totalSeconds % 60 # 当前秒数=总秒数对60取余
totalMinutes = totalSeconds // 60
curMinute = totalMinutes % 60
totalHours = totalMinutes // 60
curHour = totalHours % 24
print('现在是格林尼治时间', curHour, '时', curMinute, '分',
curSecond, '秒', '1970.1.1 00:00到现在已经过了', totalSeconds, '秒')
现在是格林尼治时间 13 时 26 分 14 秒 1970.1.1 00:00到现在已经过了 1631021174 秒
上述最后print()中可以用‘/'分成两行写,美观。
或者
# 地球时间
import datetime
curDate = datetime.datetime.now()
print(curDate.year, '-', curDate.month, '-', curDate.day, '\n',
curDate.hour, ':', curDate.minute, ':', curDate.second)
print(type(curDate))
2021 - 9 - 7
21 : 39 : 5
<class 'datetime.datetime'>
【3-4/5】 请写出 0x0310 和 0b01111010 的十进制数,0x8F的二进制数
a = 0x0310
b = 0b01111010
c = 0x8F
print('0x0310=', a, '0x01111010=', b)
print('0x8F=', c, '=' bin(c)) # bin()函数用于将数字转换为二进制的字符串
0x0310= 784 0x01111010= 122
0x8F= 143 = 0b10001111
【3-6】 编写程序,从键盘上输入3个整数,输出他们的和与平均值
num_1 = int(input('第1个数:'))
num_2 = int(input('第2个数:'))
num_3 = int(input('第3个数:'))
print('sum=', num_1+num_2+num_3)
print('average=', (num_1+num_2+num_3)/3)
第1个数:99
第2个数:88
第3个数:66
sum= 253
average= 84.33333333333333
【3-7】鸡兔同笼见第二章
【3-8】输入三角形的三条边边长,求三角形面积,其中面积计算用户自定义函数实现。
步骤:1.定义一个函数;
2.判断能构成三角形的条件;
a. p<–(l1+l2+l3)/2;
b. 返回执行结果三角形的面积;
3.否则输出无法构成三角形;
4.输入三角形的三条边;
5.输出通过函数计算的结果;
import math
def demo(l1, l2, l3):
"""
:param l1:
:param l2:
:param l3:
:return:
"""
if l1+l2 >= l3 and l1+l3 >= l2 and l2+l3 >= l1:
p = (l1+l2+l3)/2
return math.sqrt(p*(p-l1)*(p-l2)*(p-l3))
else:
print('输入的三边无法构成三角形')
a =</