欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > Python 练习

Python 练习

2025/4/24 8:16:04 来源:https://blog.csdn.net/shlei5580/article/details/144679358  浏览:    关键词:Python 练习

一、列表练习

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词