Python 练习

embedded/2024/12/24 19:49:38/

一、列表练习

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/embedded/148418.html

相关文章

Vue.js 响应接口

Vue.js 响应接口 引言 Vue.js,作为当前前端开发领域中的佼佼者,以其简洁、高效和灵活的特点,赢得了广大开发者的喜爱。其核心功能之一便是响应式系统,它使得数据与视图之间的同步变得异常简单。本文将深入探讨Vue.js的响应接口,解析其工作原理,并展示如何在实际项目中有…

2024.4 评估大语言模型在医疗行业应用的综合调查

A Comprehensive Survey on Evaluating Large Language Model Applications in the Medical Industry https://arxiv.org/abs/2404.15777 问题 大语言模型&#xff08;LLMs&#xff09;在医疗领域应用广泛&#xff0c;但缺乏专门针对其在医疗应用中有效性、准确性、可用性和…

Android -- 双屏异显之方法一

Android – 双屏异显之方法一&#xff1a;MediaRouter PS: 1. 部分主板可能不支持&#xff0c;得验证&#xff1b; 2. 副屏输出可以不用连接显示屏也能正常后台运行&#xff1b; 3. 主屏Activity内控制副屏&#xff1b; 4. 副屏截图命令&#xff1a;screencap -p -d 1 <pat…

Linux Shell 脚本编程基础知识篇—shell 运算命令详解

ℹ️大家好&#xff0c;我是练小杰&#xff0c;本文继续Linux shell脚本编程的基础知识内容&#xff0c;接着讲算术运算命令的详细操作~~ 复习&#xff1a;【shell简介以及基本操作】 更多Linux 相关内容请点击&#x1f449;“Linux专栏”~ 文章目录 let运算命令的用法let 的高…

uniapp图片数据流���� JFIF ��C 转化base64

1&#xff0c;后端返回的是图片数据流&#xff0c;格式如下 &#xfffd;&#xfffd;&#xfffd;&#xfffd; JFIF &#xfffd;&#xfffd;C 如何把这样的文件流转化为base64&#xff0c; btoa 是浏览器提供的函数&#xff0c;但在 小程序 环境中&#xff08;如微信小程序…

基础I/O -> 如何谈文件与文件系统?

文件的基础理解 空文件也要在磁盘上占据空间。文件 文件内容文件属性。文件操作 对内容的操作 对属性的操作或者是对内容和属性的操作。标定一个文件&#xff0c;必须使用&#xff1a;文件路径 文件名&#xff08;具有唯一性&#xff09;。如果没有指明对应的文件路径&…

uniapp小案例---趣味打字坤

当点击输入框时出现小鸡打字 当输入框失焦时打字鸡沉下去 原图自取 这里运用了一个三元 :class"isActive?active:"&#xff0c;当聚焦时isActivetrue从而让class绑定&#xff0c;当失焦时isActivefalse <template><view class"out"><inp…

开始探索XDP:开启Linux高性能网络编程的新篇章

XDP&#xff08;eXpress Data Path&#xff09;是 Linux 中的一项强大新网络功能&#xff0c;它允许在数据包进入网络栈之前以高性能可编程的方式访问这些数据包。然而&#xff0c;XDP 的学习曲线较高。许多开发者已经为这项功能撰写了入门博客&#xff0c;例如 Paolo Abeni 的…