python练习五

1. 给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n),可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数

python 复制代码
def find_difnumber(ls):
    for index in range(0, len(ls)):
        for num in range(index + 1, len(ls)):
            if ls[index] == ls[num]:
                print(f"{ls[index]}这个数字出现了重复")
ls = [1,5,8,6,2,4,1,5,22,13,15,4]
print(ls)
find_difnumber(ls)

2. 找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)

python 复制代码
def find_number():
    for number in range(0, 10000):
        if number % 5 == 0 or number % 6 == 0:
            if number % 5 != number % 6:
                ls.append(number)
    print(ls)
ls = []
find_number()

3. 写一个方法,计算列表所有偶数下标元素的和(注意返回值)

python 复制代码
def count_even():
    count = 0
    for index in range(0, len(ls)):
        if ls[index] % 2 == 0:
            count += index
    print(count)
ls = [1,2,3,4,5,6,7,8,9,10]
count_even()

4. 【选做】某个人进入如下一个棋盘中,要求从左上角开始走,

最后从右下角出来(要求只能前进,不能后退),
问题:共有多少种走法?

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

python 复制代码
def count_paths(m, n):
    dp = [[0] * n for _ in range(m)]

    # 初始化第一行和第一列
    for i in range(m):
        dp[i][0] = 1
    for j in range(n):
        dp[0][j] = 1

    # 计算其他位置的路径数
    for i in range(1, m):
        for j in range(1, n):
            dp[i][j] = dp[i-1][j] + dp[i][j-1]

    return dp[m-1][n-1]

# 用户输入行数和列数
m = int(input("请输入棋盘的行数:"))
n = int(input("请输入棋盘的列数:"))

total_paths = count_paths(m, n)
print("从左上角到右下角的所有可能路径数为:", total_paths)

5. 【选做】汉诺塔:

python 复制代码
def hanoi(n, source, target, auxiliary):
    global move_count
    if n == 1:
        move_count += 1
        print(u"将圆盘 1 从 {} 移动到 {}".format(source, target))
        return
    hanoi(n - 1, source, auxiliary, target)
    move_count += 1
    print(u"将圆盘 {} 从 {} 移动到 {}".format(n, source, target))
    hanoi(n - 1, auxiliary, target, source)

# 初始化移动次数为0
move_count = 0

# 测试
num_disks = 4
hanoi(num_disks, 'A', 'C', 'B')
print("总共移动次数:", move_count)

我这里是4层

相关推荐
木叶子---1 小时前
Spring 枚举转换器冲突问题分析与解决
java·python·spring
༒࿈南林࿈༒1 小时前
链家二手房数据自动化点选验证码
python·自动化·点选验证码
步辞2 小时前
Go语言怎么用channel做信号通知_Go语言channel信号模式教程【完整】
jvm·数据库·python
Ulyanov2 小时前
《PySide6 GUI开发指南:QML核心与实践》 第一篇:GUI新纪元——QML与PySide6生态系统全景
开发语言·python·qt·qml·雷达电子对抗
曲幽3 小时前
FastAPI + SQLAlchemy 2.0 通用CRUD操作手册 —— 从同步到异步,一次讲透
python·fastapi·web·async·sqlalchemy·session·crud·sync·with
Dxy12393102163 小时前
Python 如何使用 XPath 定位元素:从入门到实战
python
用户8356290780513 小时前
Python 设置 PowerPoint 文档属性与页面参数
后端·python
weixin_424999363 小时前
mysql行级锁失效的原因排查_检查查询条件与执行计划
jvm·数据库·python
yaoxin5211233 小时前
389. Java IO API - 获取文件名
java·开发语言·python
Polar__Star3 小时前
uni-app怎么实现App端一键换肤 uni-app全局样式动态切换【实战】
jvm·数据库·python