python练习题(循环函数)

文章介绍了如何使用Python计算三角形的面积和周长,通过鸡兔同笼问题进行逻辑练习,以及判断整数是否为素数的函数,最后探讨了兔子繁殖问题的编程解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、输入三边的长度,求三角行的面积和周长

import math  #导入Python的math模块,以便后面可以使用数学函数(sqrt平方根)

# 输入三边长度
a = float(input("请输入第一边的长度:"))
b = float(input("请输入第二边的长度:"))
c = float(input("请输入第三边的长度:"))


# 验证是否构成三角形
if a + b > c and a + c > b and b + c > a:
    # 计算周长
    C = a + b + c

    # 使用海伦公式计算面积
    s = (a + b + c ) / 2
    area = math.sqrt(s * (s - a) * (s - b) * (s - c))

    print(f"这是一个三角形")
    print(f"三角形的周长为:{C}")
    print(f"三角形的面积为:{area}")
else:
    print("这不是一个三角形")

2、鸡兔同笼,从上边看35个头,从下边看94只脚,请问鸡有几只,兔子有几只

def chicken_rabbit(heads, legs):
    # 循环遍历所有可能的鸡数量
    for chickens in range(heads + 1):
        rabbits = heads - chickens
        total_legs = 2 * chickens + 4 * rabbits
        if total_legs == legs:
            return chickens, rabbits
    return 0, 0    #无解

# 鸡兔同笼问题
heads = 35
legs = 94
# heads = int(input("请输入头的数量: "))
# legs = int(input("请输入腿的数量: "))
chickens, rabbits = chicken_rabbit(heads, legs)

if chickens != 0:
    print(f"鸡有{chickens}只,兔子有{rabbits}只")
else:
    print("无解")

如果一个数可以被2或3整除,那么它就不是素数

 3、编写一个函数,接受一个整数作为参数,判断该整数是否为素数(质数),并返回True或False

def is_su(n):
    if n % 2 == 0 or n % 3 == 0:
        return False
    else:
        return True
# 调用
number = int(input("请输入一个整数: "))
if is_su(number):
    print(f"{number} 是素数")
else:
    print(f"{number} 不是素数")

4、一对兔子,每对兔子从出生的第三个月开始,每个月都会生一对小兔子,而每对兔子都会在出生后的第一个月达到性成熟,之后每月都会再生一对小兔子。

# 问题的关键是:如果我们从一对刚出生的兔子开始,经过多少个月后,会有多少对兔子?

def rabbit_number(months):
    if months <= 2:
        return months
    else:
        # 初始化第一个月和第二个月的兔子对数
        now_month, last_month = 1, 1
        for months in range(2, months):
            # 计算下一个月的兔子对数
            next_month = now_month + last_month
            last_month = now_month
            now_month = next_month
        return now_month

# 输入经过多少个月
months = int(input("请输入经过多少个月: "))
rabbit_number(months)
print(f"经过 {months} 个月后,有 {rabbit_number(months)} 对兔子")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值