Python语言程序设计----编程练习

这门课也是依托够使,作业留不少,总评全给中

一、

给定一个整数序列array = [2,5,8,3,2023, 21,666,... ...], 完成以下操作:

1 请使用循环求出其最大值

2 请使用Python内置函数求得其最大值

3 请使用冒泡算法对数组进行升序排列

4 请使用Python列表内置函数对数组进行升序排列

# 定义一个整数序列
numbers = [2, 5, 8, 3, 2023, 21, 666]

# 使用循环找出最大值
max_value_by_loop = numbers[0]  # 初始设定最大值为序列的第一个元素
for num in numbers:
    if num > max_value_by_loop:
        max_value_by_loop = num  # 更新最大值
print("最大值(循环):", max_value_by_loop)

# 使用Python内置函数找出最大值
max_value_builtin = max(numbers)
print("最大值(内置函数):", max_value_builtin)

# 使用冒泡排序算法对序列进行升序排列
sorted_numbers_bubble = numbers.copy()  # 复制原序列以进行排序
n = len(sorted_numbers_bubble)
for i in range(n):
    for j in range(0, n-i-1):
        if sorted_numbers_bubble[j] > sorted_numbers_bubble[j+1]:
            # 交换元素位置
            sorted_numbers_bubble[j], sorted_numbers_bubble[j+1] = sorted_numbers_bubble[j+1], sorted_numbers_bubble[j]
print("冒泡排序结果:", sorted_numbers_bubble)

# 使用Python列表的内置函数进行升序排列
sorted_numbers_builtin = numbers.copy()  # 复制原序列以进行排序
sorted_numbers_builtin.sort()  # 对列表进行就地排序
print("内置排序函数结果:", sorted_numbers_builtin)

二、

请编写一段程序,提示用户输入表示月份的数值,代码打印对应月份的英文简写

# 创建一个字典,其中包含月份的数字和它们的英文简写
month_abbreviations = {
    1: "Jan",
    2: "Feb",
    3: "Mar",
    4: "Apr",
    5: "May",
    6: "Jun",
    7: "Jul",
    8: "Aug",
    9: "Sep",
    10: "Oct",
    11: "Nov",
    12: "Dec"
}

# 提示用户输入月份的数值
user_input = int(input("请输入月份的数值(1-12): "))

# 检查用户输入的数值是否在1到12之间
if 1 <= user_input <= 12:
    # 输出对应月份的英文简写
    print("{}月的英文简写是: {}".format(user_input, month_abbreviations[user_input]))
else:
    # 用户输入的数值无效时给出提示
    print("请输入有效的月份数值(1-12)。")

三、

编写一个算法来判断一个数n是不是快乐数

[快乐数]:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程。

如果这个数变为1,为快乐数

如果进入无限循环,但始终变不到1,不为快乐数

def check_happy_number(num):
    """
    判断一个数是否是快乐数。
    参数:
    num -- 要判断的数字。

    返回:
    如果num是快乐数,则返回True;否则返回False。
    """
    observed_numbers = set()  # 用于存储已经观察到的数字,防止无限循环

    while num != 1 and num not in observed_numbers:
        observed_numbers.add(num)  # 将当前数字添加到观察集合中

        # 计算数字各个位上的数字平方和
        num = sum(int(digit) ** 2 for digit in str(num))

    # 如果数字变为1,则它是一个快乐数
    return num == 1

# 从用户那里获取输入并检查是否为快乐数
input_number = int(input("请输入数字:"))
result = check_happy_number(input_number)
print(f"数字 {input_number} {'是' if result else '不是'} 一个快乐数")

四、

递归函数实践:请以5阶科赫曲线完成一个倒置的等边三角形的绘制

注:5阶科赫曲线画倒置的等边三角形画出来的就是雪花图形,谁再问为什么画出来的不是三角形,捏麻麻地给你一拳,具体原因自己去学科赫曲线

import turtle

def draw_koch_segment(drawer, level, length):
    """
    绘制科赫曲线的单个段落
    参数:
    drawer: Turtle对象,用于绘图
    level: 科赫曲线的阶数
    length: 每段科赫曲线的长度
    """
    if level == 0:
        drawer.forward(length)
    else:
        for angle in [60, -120, 60, 0]:
            draw_koch_segment(drawer, level - 1, length / 3)
            drawer.left(angle)

def draw_koch_triangle(drawer, level, length):
    """
    绘制科赫三角形
    参数:
    drawer: Turtle对象,用于绘图
    level: 科赫曲线的阶数
    length: 科赫三角形的边长
    """
    for _ in range(3):
        draw_koch_segment(drawer, level, length)
        drawer.right(120)  # 转120度以绘制三角形的下一个边

# 设置绘图窗口
drawing_window = turtle.Screen()
drawing_window.bgcolor("white")

# 创建turtle对象
koch_artist = turtle.Turtle()
koch_artist.speed(0)

# 移动turtle到起始位置
koch_artist.penup()
koch_artist.goto(-150, 90)
koch_artist.pendown()

# 绘制五阶科赫倒置等边三角形
draw_koch_triangle(koch_artist, 5, 300)

# 隐藏turtle
koch_artist.hideturtle()

# 完成绘图
drawing_window.mainloop()

五、

请任意选择一本电子版小说,借助jieba库和字典数据结构,统计该小说中各主人公出场次数。

注:自己拿pip装jieba库,自己找电子小说,转成txt格式,放在代码文件同一目录下,剩下的不用多说吧

import jieba

# 打开并读取小说文件
novel_file = open('葬送的芙莉莲第一卷.txt', encoding='utf-8')
novel_text = novel_file.read()
novel_file.close()

# 使用jieba库进行中文分词
segmented_words = jieba.lcut(novel_text)

# 初始化一个字典,用于统计特定角色的出场次数
appearance_count = {"芙莉莲": 0}

# 遍历所有分词,统计角色出场次数
for word in segmented_words:
    if word in appearance_count:
        appearance_count[word] += 1

# 打印角色出场次数
print(appearance_count)

六、

我也不知道是干嘛的

# 创建一个字典
items_dict = {"a": 1, "b": 2, "c": 4}

# 对字典中的项目按值进行降序排序
# lambda 函数用于指定排序的依据,即字典的值
for key, value in sorted(items_dict.items(), key=lambda item: item[1], reverse=True):
    # 打印排序后的键值对
    print(key, value)

七、

小明同学的体重为80KG,小明每跑一次步体重下降0.5KG,小明每吃一顿饭体重上升1KG。
请设计一个类,记录小明同学日常生活的体重变化。

import random

class WeightManager:
    """类用于跟踪和管理个人体重变化"""

    def __init__(self, start_weight):
        """初始化体重管理器"""
        self.current_weight = start_weight

    def exercise(self):
        """模拟运动后体重减少"""
        self.current_weight -= 0.5
        print(f"运动后,体重减少到了 {self.current_weight:.1f} KG")

    def dine(self):
        """模拟进餐后体重增加"""
        self.current_weight += 1
        print(f"进餐后,体重增加到了 {self.current_weight:.1f} KG")

# 获取初始体重
start_weight = float(input("请输入体重:"))
person = WeightManager(start_weight)

# 随机模拟运动或进餐的总次数
total_activities = random.randint(1, 15)

for _ in range(total_activities):
    if random.choice([True, False]):
        person.exercise()
    else:
        person.dine()

print(f"总共进行了 {total_activities} 次活动")

八、

随堂练习 

  1. 单选题 (1分) Python中用于单行注释的是( ) A # B @ C & D ¥ 正确答案: A

  2. 单选题 (1分) 字符串运算"abc"+"d"2 执行的结果是 A "abcdd" B "abcd2" C "abcd2" D "abcdabcd" 正确答案: A

  3. 单选题 (1分) Python源程序执行的方式是( ) A 编译执行 B 解释执行 C 二者皆可 D 以上都不对 正确答案: B

  4. 单选题 (1分) Python中区分代码块的标记是( ) A 花括号 B 方括号 C 缩进 D 分号 正确答案: C

  5. 单选题 (1分) 查看变量类型的Python内置函数是( ) A len() B max() C type() D input() 正确答案: C

  6. 单选题 (1分) 表达式 {1, 2, 3, 4}&{3, 4, 5, 6}的值为 A {1,2} B {3,4} C {5,6} D {1,2,3,4,5,6} 正确答案: B

  7. 单选题 (1分) 假设列表对象list_a的值为[3, 4, 5, 6, 7, 8, 9, 10, 11, 12],那么切片list_a[3:9:2]的结果为 A [3, 6, 9] B [6, 8, 10] C [6, 8, 10, 12] D [5, 6, 12] 正确答案: B

  8. 单选题 (1分) 转义字符\t的含义是 A 空格 B 换行 C 制表符 D 大写字母 正确答案: C

  9. 主观题 (10分) 请描述列表和元组之间的相同点和不同点,以及如何在他们之间相互转换? 答案:列表(List)和元组(Tuple)是Python中常用的数据结构,它们之间有以下相同点和不同点:相同点:都可以存储一系列的元素。都支持索引和切片操作。都可以嵌套其他的列表、元组或其他数据结构。都可以通过循环进行遍历。不同点:列表是可变的(Mutable),意味着可以在原地修改列表,例如添加、删除或更改元素。而元组是不可变的(Immutable),一旦创建就不能更改。列表通常用于存储具有同类项的序列,而元组用于存储不同类型的数据,例如由一个函数返回多个值。列表表达式用方括号[],而元组表达式用圆括号()。虽然元组在只有一个元素时需要加逗号(例如,(element,)),但是在没有歧义的情况下,圆括号也可以省略。列表和元组之间的转换:将列表转换为元组:使用 tuple() 函数。 例如:my_tuple = tuple(my_list)将元组转换为列表:使用 list() 函数。 例如:my_list = list(my_tuple)

  10. 主观题 (10分) 字典d={”a”:1,”b”:2,”c”:4},请遍历字典d,以value值倒序排列,打印key、value对 答案:d = {"a": 1, "b": 2, "c": 4} for key, value in sorted(d.items(), key=lambda item: item[1], reverse=True): print(key, value)

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 非常感谢您的提问。Python语言程序设计基础程序练习题是一系列针对Python编程语言的基础练习题,旨在帮助初学者掌握Python编程语言的基本语法和编程技巧。这些练习题涵盖了Python编程的各个方面,包括变量、数据类型、条件语句、循环语句、函数、模块等等。通过完成这些练习题,学习者可以逐提高自己的编程能力,掌握Python编程的基本技能,为以后深入学习Python编程打下坚实的基础。 ### 回答2: Python语言是一种简洁且灵活的脚本语言,已经成为许多计算机科学领域的首选语言Python语言有着丰富的标准库和第三方库,这些库能够轻松地完成各种任务,使得Python语言非常适合学习和使用。 Python语言程序设计基础程序练习题可以帮助初学者提高他们的Python编程技能。下面介绍几个简单的Python程序练习,帮助初学者快速上手,提高Python编程技能。 1. 编写一个程序,求1到100之间的所有偶数之和。 解题思路:使用for循环进行遍历,求出所有偶数的和。 ```python sum = 0 for i in range(2, 101, 2): sum += i print("1到100之间的所有偶数之和 =", sum) ``` 2. 编写一个程序,计算任意两个数字之间的和。 解题思路:输入两个数字,使用循环将它们之间的所有数字加起来。 ```python num1 = int(input("请输入第一个数字:")) num2 = int(input("请输入第二个数字:")) sum = 0 for i in range(num1, num2+1): sum += i print(num1, "到", num2, "之间所有数字之和 =", sum) ``` 3. 编写一个程序,计算任意两个数字之间的乘积。 解题思路:输入两个数字,使用循环将它们之间的所有数字相乘。 ```python num1 = int(input("请输入第一个数字:")) num2 = int(input("请输入第二个数字:")) product = 1 for i in range(num1, num2+1): product *= i print(num1, "到", num2, "之间所有数字的乘积 =", product) ``` 4. 编写一个程序,判断一个数是否为质数。 解题思路:如果一个数只能被1和它本身整除,那么这个数就是质数。 ```python num = int(input("请输入一个数字:")) if num < 2: print(num, "不是质数") else: for i in range(2, num): if num % i == 0: print(num, "不是质数") break else: print(num, "是质数") ``` 5. 编写一个程序,将一个字符串倒序输出。 解题思路:使用字符串切片[::-1]即可实现字符串倒序输出。 ```python str = input("请输入一个字符串:") print("倒序输出字符串 =", str[::-1]) ``` 以上是几个简单的Python程序练习,通过这些练习可以提高初学者的Python编程水平。随着学习的深入,可以逐渐挑战更难的Python编程练习,掌握更多的Python编程技能。 ### 回答3: Python语言程序设计是一门非常有用的编程语言,而程序练习题则是Python语言程序设计中非常重要的一。通过对基础程序练习题的学习和实践,可以帮助学生更好地掌握Python语言的基础知识和编程方法。 在Python语言的基础程序练习题中,最基本的要求就是理解Python语言的基本语法和编程方法。这包括变量定义、数据类型、运算符、控制语句和函数等。此外,还需要了解Python语言中的一些库和模块,例如math库、random库、sys库和os库等。 在练习题中,我们需要编写一些简单的Python程序来解决特定问题。这可以包括编写程序来计算一些数学问题,比如计算圆的周长和面积、计算正弦函数值等等。我们还可以编写一些程序来处理字符串问题,比如字符串的拼接、截取和格式化输出等。 除了理论知识外,实践也是非常重要的。在练习中,学生需要根据问题的要求,选择正确的编程语句和方法来编写一个可以正确运行的程序。学生还需要学会调试程序和解决遇到的错误和问题。 总的来说,基础程序练习题是Python语言程序设计学习的一部分,它对于学生掌握Python语言的基础知识和编程技巧具有重要作用。通过练习和实践,学生可以更好地理解Python语言编程方法和应用,在未来的学习和工作中,也能更加游刃有余地应用Python语言进行编程

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值