@浙大疏锦行 Python训练营打卡Day3

题目1:列表的基础操作

题目:

  1. 创建一个包含三个字符串元素的列表 tech_list,元素分别为 “Python”, “Java”, “Go”。
  2. 获取列表中的第一个元素,并将其存储在变量 first_tech 中。
  3. 向 tech_list 的末尾添加一个新的字符串元素 “JavaScript”。
  4. 修改 tech_list 中的第二个元素(索引为 1),将其从 “Java” 更改为 “Ruby”。
  5. 移除列表中的元素 “Go”。
  6. 计算当前 tech_list 的长度,并将结果存储在变量 current_length 中。
  7. 最后,使用 f-string 分三行打印出以下信息:
    1. 获取到的第一个技术名称。
    2. 列表当前的长度。
    3. 经过所有操作后,列表最终的内容。

打印格式应类似:

第一个技术是: Python

当前列表长度: 3

最终列表内容: [‘Python’, ‘Ruby’, ‘JavaScript’]

输入:

tech_list = ["Python", "Java", "Go"]
first_tech = tech_list[0]
tech_list.append("JavaScript")
tech_list[1] = "Ruby"
tech_list.remove("Go")
current_length = len(tech_list)
print(f"第一个技术是: {first_tech}")
print(f"当前列表长度: {current_length}")
print(f"最终列表内容: {tech_list}")

输出:

第一个技术是: Python
当前列表长度: 3
最终列表内容: ['Python', 'Ruby', 'JavaScript']
tech_list = ["Python", "Java", "Go"] 这行代码是在 Python 里定义一个列表。列表是一种可变的、有序的数据结构,能够存储多个不同类型的元素。在这个例子中, tech_list 是列表的名称,方括号 [] 表示这是一个列表,而 "Python" 、 "Java" 和 "Go" 是列表中的元素,它们都是字符串类型。简单来说,这行代码创建了一个名为 tech_list 的列表,其中包含三个字符串元素,分别代表三种编程语言。
问:列表里能存储哪些类型的元素?
答:

在 Python 里,列表是一种非常灵活的数据结构,能够存储多种类型的元素。以下是常见的可存储元素类型:

### 基本数据类型
- 整数(int) :如 [1, 2, 3] 。
- 浮点数(float) :如 [1.1, 2.2, 3.3] 。
- 布尔值(bool) :如 [True, False, True] 。
- 字符串(str) :如 ["apple", "banana", "cherry"] 。
- 空值(NoneType) :如 [None, None] 。
### 复合数据类型
- 列表(list) :可嵌套列表,如 [[1, 2], [3, 4]] 。
- 元组(tuple) :如 [(1, 2), (3, 4)] 。
- 字典(dict) :如 [{"name": "Alice"}, {"name": "Bob"}] 。
- 集合(set) :如 [{1, 2}, {3, 4}] 。
### 自定义对象
如果定义了类,也能将类的实例存储在列表中。例如:

class Person:
    def __init__(self, name):
        self.name = name

people = [Person("Alice"), Person("Bob")]

上述自定义对象的代码的含义不是现在学习的重点,所以先按下不表。

问:Python里[]有那些含义?

答:在Python里,[](方括号)有多种含义:

1. 表示列表 :方括号可用于创建列表,例如 my_list = [1, 2, 3] 。
2. 列表索引和切片 :通过方括号访问列表元素,如 my_list[0] 访问第一个元素;切片操作 my_list[1:3] 可获取部分元素。
3. 字典键访问 :用方括号访问字典中的值,如 my_dict = {'key': 'value'} ,可通过 my_dict['key'] 获取对应的值。
4. 字符串索引和切片 :类似列表,字符串也能用方括号进行索引和切片操作。

题目2:循环for语句

计算1+100的和 用for循环来写

输入:

# 初始化总和变量
result = 0
# 使用 for 循环遍历 1 到 100 的整数
for i in range(1, 101):
    result += i
# 打印结果
print(result)

输出:

5050

这里创建了一个名为 result 的变量,并将其初始值设为 0。这个变量将用来存储 1 到 100 的整数累加结果。

- range(1, 101) 会生成一个从 1 开始(包含 1)到 100 结束(包含 100)的整数序列。
- for 循环会依次取出序列中的每个整数,将其赋值给变量 i 。
- result += i 是 result = result + i 的简写形式,意思是将当前的 i 值累加到 result 变量上。

问:为什么range(1, 101)会生成一个从 1 开始(包含 1)到 100 结束(包含 100)的整数序列而不是1到101呢?

答:在 Python 里, range() 函数的设计遵循左闭右开原则,即生成的序列包含起始值,但不包含结束值。当你调用 range(1, 101) 时, 1 是起始值, 101 是结束值,所以生成的序列从 1 开始,到 100 结束(因为不包含 101 )。这样设计的好处是方便和列表索引等场景结合使用,同时能让代码逻辑更清晰。例如,如果你想遍历一个长度为 n 的列表,就可以使用 range(0, n) 来获取所有有效的索引值。以下是简单示例:

问:上文    result += i的result前面为什么要有缩进块?

答:在 Python 里, result += i 前有缩进块是因为它处于 for 循环体中。Python 利用缩进来界定代码块, for 循环里的每一行代码都需要有相同的缩进量,这样 Python 解释器才能知道哪些代码属于循环体,从而在每次循环时执行这些代码。

题目3:判断语句

温度预警系统

1. 定义一个变量temperature存储当前温度(整数)

2. 根据以下条件判断并打印预警信息:

   - 高于35度:打印"红色预警:高温天气!"

   - 28-35度:打印"黄色预警:天气炎热"

   - 20-27度:打印"绿色提示:适宜温度"

   - 低于20度:打印"蓝色预警:注意保暖"

3. 使用if-elif-else结构实现

4. 测试用例:用38你的代码

输入:

temperature = 38  # 测试用例,温度为38度

if temperature > 35:
    print("红色预警:高温天气!")
elif temperature >= 28:
    print("黄色预警:天气炎热")
elif temperature >= 20:
    print("绿色提示:适宜温度")
else:
    print("蓝色预警:注意保暖")

输出:

红色预警:高温天气!

在 Python 里, elif 是 else if 的缩写,常和 if 、 else 搭配使用,构成条件判断语句。当 if 条件不满足时,程序会检查 elif 里的条件,如果满足就执行 elif 代码块;若都不满足,就执行 else 代码块。在这个例子中, elif 用来检查多个条件,每个 elif 都是在前一个条件不满足时才会被检查。

  1. 定义一个包含整数的列表 scores,赋值为 [85, 92, 78, 65, 95, 88]。
  2. 初始化两个变量:excellent_count 用于记录分数大于等于 90 的个数,初始值为 0;total_score 用于累加所有分数,初始值为 0。
  3. 使用 for 循环遍历 scores 列表中的每一个分数。
  4. 在循环内部:
    1. 将当前分数累加到 total_score 变量上。
    2. 使用 if 语句判断当前分数是否大于等于 90。如果是,则将 excellent_count 变量加 1。
  5. 循环结束后,计算平均分 average_score(总分除以分数的个数)。
  6. 使用 f-string 分三行打印出以下信息:
  7. 优秀分数(>=90)的个数。
  8. 所有分数的总和。
  9. 所有分数的平均分(结果包含3位小数)。

打印格式应类似:

优秀分数个数: 3

分数总和: 503

平均分数: 83.833

输入:

# 1. 定义分数列表
scores = [85, 92, 78, 65, 95, 88]

# 2. 初始化变量
excellent_count = 0
total_score = 0

# 3. 遍历列表并计算
for score in scores:
    total_score += score  # 4a. 累加总分
    if score >= 90:      # 4b. 统计优秀分数
        excellent_count += 1

# 5. 计算平均分
average_score = total_score / len(scores)

# 6. 打印结果
print(f"优秀分数个数: {excellent_count}")
print(f"分数总和: {total_score}")
print(f"平均分数: {average_score:.3f}")

输出:

优秀分数个数: 2
分数总和: 503
平均分数: 83.833

第三天的内容比前两天多了不少,需要注意的点也很多,但仍属于基础内容,需要多花点时间来吃透它们。

你可能感兴趣的:(python,开发语言)