python实验三、循环结构

实验三、循环结构

在这里插入图片描述

在这里插入图片描述

n = int(input())

for i in range(1, n + 1):
    # 打印前置空格
    for j in range(n - i):
        print(" ", end="")

    # 打印升序字母
    for j in range(1, i + 1):
        print(chr(65 + (n - i + j - 1) % 26), end="")

    # 打印降序字母
    for j in range(1,i):
        print(chr(65 + (n - j - 1) % 26), end="")

    # 换行
    print()

在这里插入图片描述

import math

n = int(input())  # 从标准输入获取整数n

e_approximation = 1  # 初始化e的近似值为1
factorial = 1

for i in range(1, n):
    factorial *= i  # 计算阶乘
    e_approximation += 1 / factorial

print("{:.5f}".format(e_approximation))  # 输出结果,保留5位小数

在这里插入图片描述

#完成程序
def is_narcissistic_number(num):
    num_str = str(num)
    n = len(num_str)
    total = 0
    for digit in num_str:
        total += int(digit) ** n
    return total == num

narcissistic_numbers = []

for num in range(100, 1000):
    if is_narcissistic_number(num):
        narcissistic_numbers.append(num)

for number in narcissistic_numbers:
    print(number)
# 简便式实现水仙花数
for i in range(100,1000):
    (a,x) = divmod(i,100)
    (b,y) = divmod(x,10)
    c = y
    if a**3 + b**3 + c**3 == i:
        print(i)
    else:
        continue
# 解释 divmod(i,100) 商余函数等价于 i // 100 和 i % 100,
#(a,x)a为商,x为余

在这里插入图片描述

#请完成程序
def is_leap_year(year):
    return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)


def day_of_year(year, month, day):
    days_in_month = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

    if is_leap_year(year):
        days_in_month[2] = 29  # 闰年二月有29天

    total_days = sum(days_in_month[:month]) + day
    return total_days


year = int(input(""))
month = int(input(""))
day = int(input(""))

day_number = day_of_year(year, month, day)
print(day_number)

在这里插入图片描述

#完成程序
result = []
for num in range(1, 101):
    if num % 5 == 0 and num % 7 != 0:
        result.append(num)

output_str = " ".join(map(str, result))
print(output_str)

在这里插入图片描述

def find_subsets(input_str):
    subsets = []

    n = len(input_str)

    for i in range(n):
        subset = ""
        for j in range(i, n):
            subset += input_str[j]
            subsets.append(subset)

    return subsets

input_str = input("")
all_subsets = find_subsets(input_str)

print(all_subsets)

在这里插入图片描述

#完成程序
save = 10000
year = 0
while save < 20000:
    year += 1
    save = save*(1+0.0325)
print(year)


在这里插入图片描述

#完成程序
money = 100
s = 0
for x in range(1, 21):
    for y in range(34):
        for z in range(301):
            s = 5 * x + 3 * y + z / 3
            if s == money and x+y+z == 100:
                print("可买{}只公鸡,{}只母鸡,{}只小鸡".format(x, y, z))

在这里插入图片描述

#完成程序
fish = 1  # 初始鱼数,从1条开始

while True:
    total_fish = fish  # 每次增加1条鱼,总数重新设定为当前鱼的数量
    enough = True  # 初始化标志

    for _ in range(5):
        if (total_fish - 1) % 5 == 0:
            total_fish = (total_fish - 1) // 5 * 4
        else:
            enough = False
            break

    if enough:
        print(f"5人至少合伙捕到{fish}条鱼")
        break

    fish += 1
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-Z_Nuyoah

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值