Python编辑基础课后习题(持续更新)

学习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, '秒')
现在是格林尼治时间 1326141970.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个数:992个数:883个数: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 =
  • 14
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值