Python 练习

server/2024/12/24 20:19:08/

一、列表练习

1、求偶数元素的和[1,2,1,2,3,3,6,5,8]  

1

2

3

4

5

6

list01 = [121233658]

sum = 0

for in list01:

    if int(i) % 2 == 0:

        sum = sum + i

print(f"列表中所有偶数和是: {sum}")

2、计算 1 - 2 + 3 - 4 + ... + 99 中除88以外所有数总和

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

#########################

# 定义初始变量 count

# 定义累加和 sum

#########################

count = 0

sum = 0

while count < 100:

    if count == 88:

        count = count + 1

        continue

    elif count % 2 == 0:

        sum = sum - count

    else:

        sum = sum + count

    count = count + 1

print(sum)

设置断点,使用debug来分析代码执行顺序如下

## 执行顺序如下

-- 第一次执行

count = 0

sum = 0

while count < 100:

if count == 88:

elif count % 2 == 0:

sum = sum - count

count = count + 1 (print(sum)上一行)

-- 第二次执行

while count < 100:

if count == 88:

elif count % 2 == 0:

sum = sum + count

count = count + 1 (print(sum)上一行)

-- 第三次执行

while count < 100:

if count == 88:

elif count % 2 == 0:

sum = sum - count

count = count + 1 (print(sum)上一行)

-- 第四次执行

while count < 100:

if count == 88:

elif count % 2 == 0:

sum = sum + count

count = count + 1 (print(sum)上一行)

3、求1+2!+3!+4!+……+10!的和

1

2

3

4

5

6

7

8

9

10

11

12

13

14

# 方法一

count = 1

sum = 0

for in range(111):

    count *= i

    sum += count

    print(f"运算的结果是: {sum}")

# 方法二

def f(n, sum=1):

    if n > 1:

        return f(n - 1sum * + 1)

    return sum

print(f(10,sum=1))

对于方法二,设置断点,使用debug来分析代码执行顺序如下

-- 第一次

print(f(10,sum=1))

def f(n, sum=1): n: 10 sum: 1

if n > 1:

return f(n - 1, sum * n + 1)

-- 第二次

def f(n, sum=1): n: 9 sum: 11

if n > 1:

return f(n - 1, sum * n + 1)

-- 第三次

def f(n, sum=1): n: 8 sum: 100

if n > 1:

return f(n - 1, sum * n + 1)

-- 第四次

def f(n, sum=1): n: 7 sum: 801

二、列表-字典练习

1、列表嵌套字典

# 题目要求,循环data,每行按照格式 姓名:xxx, 年龄:xxx 将每个学生的信息逐行打印

data = [

    {'name':'张三','age':18},

    {'name':'李四','age':19},

    {'name':'王五','age':20}

]

-- 答案如下:

for stu_dic in data:

    # print(f"姓名:{stu_dic.get("name")},年龄:{stu_dic.get("age")}")

    print("姓名:%s; 年龄:%s " %(stu_dic.get("name"),stu_dic.get("age")) )

-- 打印结果

姓名:张三; 年龄:18

姓名:李四; 年龄:19

姓名:王五; 年龄:20

2、字典嵌套字典

# 题目要求,循环data,每行按照格式 学号 1001,姓名: xxx, 年龄: xxx 将每个学生的信息逐行打印

data = {

    1001:{'name':'张三','age':18},

    1002:{'name':'李四','age':19},

    1003:{'name':'王五','age':20}

}

-- 答案如下

data = {

    1001:{'name':'张三','age':18},

    1002:{'name':'李四','age':19},

    1003:{'name':'王五','age':20}

}

for stu_id,stu_dic in data.items():

    name = stu_dic.get("name")

    age = stu_dic.get("age")

    print("学号:%s, 姓名: %s, 年龄: %s"%(stu_id,name,age))

-- 打印结果

学号:1001, 姓名: 张三, 年龄: 18

学号:1002, 姓名: 李四, 年龄: 19

学号:1003, 姓名: 王五, 年龄: 20


http://www.ppmy.cn/server/152863.html

相关文章

ElasticSearch 使用教程

ElasticSearch 使用教程 1. ElasticSearch简介 ElasticSearch是一个基于Lucene的搜索服务器&#xff0c;提供了一个分布式多用户能力的全文搜索引擎&#xff0c;基于RESTful web接口。它是用Java开发的&#xff0c;并作为Apache许可条款下的开放源码发布&#xff0c;是当前流…

Spring Boot 启动后的初始化数据加载原理解析与实战应用

系统初始化操作是一个非常常见的需求。通常&#xff0c;应用在启动后需要执行一些重要的初始化任务&#xff0c;例如加载全局配置、初始化数据库表、预热缓存、启动后台任务等。而如何选择合适的技术方案&#xff0c;在不同的场景下保证初始化任务的高效执行&#xff0c;尤其在…

【VUE】13、安装nrm管理多个npm源

nrm&#xff08;npm registry manager&#xff09;是一个 npm 源管理器&#xff0c;它允许用户快速地在不同的 npm 源之间进行切换&#xff0c;以提高包管理的速度和效率。以下是对 nrm 使用的详细介绍&#xff1a; 1、安装nrm 在使用 nrm 之前&#xff0c;需要先确保已经安装…

halcon单相机+机器人*眼在手外标定心得

目的 得到相机坐标系下的点与机器人底座base的转换关系&#xff0c;camera_in_base 两个不确定的定量 1&#xff0c;相机与机器人底座base之间的相对位置是固定的&#xff0c;既camera_in_base 2&#xff0c;机械手末端与标定物 tool_in_obj是固定的 辅助确定量 工作台与相…

基于微信小程序的短视频系统(SpringBoot)+文档

&#x1f497;博主介绍&#x1f497;&#xff1a;✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示&#xff1a;文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

Cookie与爬虫

文章目录 Cookie与爬虫&#xff1a;我们需要了解的那些知识一、什么是Cookie&#xff1f;Cookie的主要特点&#xff1a; 二、Cookie的主要作用三、爬虫与Cookie的关系1. **身份验证**2. **防爬机制**3. **会话管理**4. **绕过限制**5. **数据管理与更新** 四、需要注意的事项五…

【氮化镓】p沟道GaN-on-Si晶体管的衬底偏置效应

这篇文章是关于p沟道GaN-on-Si晶体管的衬底偏置效应的研究。以下是文章的核心内容: 研究背景: 在实际应用中,p沟道场效应晶体管(p-FET)的源极通常连接到高电压,因此衬底到源极的偏置电压(VBS)可能不为零。本研究首次报告了p-FET的漏极电流(ID)与VBS之间的依赖性,并…

网络安全加密

介绍 一个认证和密钥交换系统&#xff0c;它用来在不可靠的网络中保护口令和交换密钥。通过消除了在网络上发送明文口令的需要&#xff0c;并且通过安全的密钥交换机制来使用加密&#xff0c;改进了安全性。服务器不保存密码或密码的散列值, 防止字典攻击. 而只是保存验证因子(…