【python打卡】 Day 03

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.pop(1)
tech_list.insert(1,"ruby")

tech_list.remove("go")
current_length = len(tech_list)

print(f"第一个技术是:{first_tech} ")
print(f"当前列表长度:{current_length} ")
print(f"最终列表内容:{tech_list} ")

总结:python组合数据类型---序列类型、集合类型、映射类型

序列类型包含:1字符串、2列表、3元组(不可修改)

字符串和列表可以任意增删

列表操作方法和函数:

(1)基础方法

        list[ i ] = x      将第 i 个位置元素,替换成x

        list[ i:j ] = lt   将从 i 到 j 个位置的元素,替换成列表lt

(2)进阶函数

list.append()  在末尾增加一个元素

list.insert( i , x)   在第i个位置,增加新元素

list.clear()   删除所有元素

list.pop( i )  删除第i 个位置的元素

list.remove()  删除最后一个元素

2.循环for语句

【题目1】计算1+100的和 用for循环来写

total = 0

for i in range(1,101):
    total += i
# total = total + i

print(f"计算结果为{total}")

【题目2】判断语句:温度预警系统

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

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

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

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

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

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

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

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

# 定义变量
temperature = 38

# 判断温度并给出预警信息
if temperature > 35:
    print("红色预警,高温天气")
elif 28 <= temperature <= 35:
    print("橙色预警,天气炎热")
elif 20< temperature < 28:
    print("绿色预警,适宜温度")
else:
    print("蓝色预警,注意保暖")

【题目3】

  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

scores =  [85, 92, 78, 65, 95, 88]
excellent_count = 0
total_score = 0

for score in scores:
    total_score += score
    if score >= 90:
        excellent_count += 1

average_score = total_score/len(scores)

print(f"优秀分数(>=90)的个数:{excellent_count:.3f}")
print(f"所有分数的总和:{total_score:.3f}")
print(f"所有分数的平均分:{average_score:.3f}")

总结:for循环和range()组合

for score in scores:和 for score in range(scores):二者的区别

(1) for score in scores:
- 适用场景 : scores 一般是一个可迭代对象,像列表、元组、集合这类数据结构。此循环会直接遍历可迭代对象里的每一个元素。

- 代码解释 :在这个例子中, scores 是一个列表, for 循环会依次取出列表里的每个分数,然后将其赋值给变量 score ,并打印出来。

(2)for score in range(scores):
- 错误原因 : range() 函数要求传入的参数是整数类型,而 scores 是一个列表,所以直接使用 for score in range(scores): 会引发 TypeError 异常。
- 正确使用 range() 的场景 : range() 函数通常用于生成一个整数序列,可用来控制循环次数或者作为索引访问序列元素。

for score in scores: 是直接遍历可迭代对象的元素,而 range() 函数生成整数序列,常用来控制循环次数或者作为索引数字,访问序列元素

作为索引数字,访问序列元素,代码示例

scores = [85, 92, 78, 65, 95, 88]

# 使用 range(len(scores)) 访问列表元素
for index in range(len(scores)):
    print(f"索引 {index} 对应的分数是: {scores[index]}")

@浙大疏锦行

你可能感兴趣的:(【打卡】Python训练营,python,学习,windows)