【Python】基础练习题

编程入门 行业动态 更新时间:2024-10-21 23:01:08

【Python】基础<a href=https://www.elefans.com/category/jswz/34/1768594.html style=练习题"/>

【Python】基础练习题

(1)编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n。

def calculate_sum(n):total_sum = 0if n % 2 == 0:  # n为偶数for i in range(2, n+1, 2):total_sum += 1 / ielse:  # n为奇数for i in range(1, n+1, 2):total_sum += 1 / ireturn total_sum# 测试
n = int(input("请输入一个正整数n:"))
result = calculate_sum(n)
print(result)

(2)写一个函数,将一个字符串中的元音字母复制到另一个字符串,然后输出。

def copy_vowels(s):vowel_letters = "aeiouAEIOU"  # 所有的元音字母new_string = ""  # 存储复制后的字符串for char in s:if char in vowel_letters:  # 如果字符是元音字母new_string += charreturn new_string# 测试
string = input("请输入一个字符串:")
result = copy_vowels(string)
print(result)

(3)“猴子吃桃子”问题的递归函数实现。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第十天早上想吃时, 见只剩一个桃子了。编写程序求第一天猴子共摘了多少个桃子?

def calculate_peaches(day):if day == 1:  # 第一天只剩一个桃子return 1else:return (calculate_peaches(day - 1) + 1) * 2# 测试
total_peaches = calculate_peaches(10)
print("第一天共摘了", total_peaches, "个桃子")

(4)汉诺塔问题的递归实现。汉诺塔是学习计算机递归算法的经典入门案例。汉诺塔如图5.13所示,其中3个标杆分别用A、B和C表示。移动圆盘的规则:一次只能移动一个盘子、盘子只能在3个标杆之间移动、更大的盘子不能放在更小的盘子上面。

汉诺塔是一个数学难题,其问题描述为如何将所有圆盘从A移动到C。请Python编写一个汉诺塔的移动函数,采用递归方法解决这个难题,要求输入汉诺塔的层数,输出整个移动流程。

def hanoi_tower(n, source, auxiliary, target):if n > 0:# 将n-1个盘子从源柱子移动到辅助柱子hanoi_tower(n - 1, source, target, auxiliary)# 将剩下的盘子从源柱子移动到目标柱子print("移动盘子", n, "从", source, "到", target)# 将之前移动到辅助柱子的n-1个盘子移动到目标柱子hanoi_tower(n - 1, auxiliary, source, target)# 测试
n = int(input("请输入汉诺塔的层数:"))
hanoi_tower(n, 'A', 'B', 'C')

更多推荐

【Python】基础练习题

本文发布于:2023-11-14 14:30:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1587800.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:练习题   基础   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!