【Python100+例】练完所有例题

前言:

有疑问的可以相互沟通学习交流!!!!!!!

1.两数之和

a, b = 3.5, 4.0

print(f"{a}+{b}的和是{a+b}")

-------------------------------------
1.元组赋值可以省略括号
2.使用了字符格式化方式f-string

2.数字的阶乘

def func(n):

    if n >= 0:
        if n in [0, 1]:
            return 1
        else:
            return n*func(n-1)
    else:
        return None


data = int(input("请输入一个数:"))
print(f"{data}的阶乘是{func(data)}")

-----------------------------------------
1.递归函数,调用自身
2.if..else

3. 统计1-100之和

方法1: 使用while

s = 0
i = 1
while i <= 100:
    s += i
    i += 1
print(f"1-100相加的和是:{s}")


方法2: 使用内置函数sum

s = sum([i for i in range(101)])
print(f"1-100相加的和是:{s}")

--------------------------------
1.sum(iter[,initial])函数里面的参数是可迭代对象

4.圆的面积

import math

def circle(r):
    return round(math.pi*r*r, 2)


print(f"圆的面积是啊:{circle(2)}")

-----------------------------
1.使用math模块的pi属性
2.使用round()函数保留2位小数

5.区间内的所有素数

def is_prime(number):
    if number in [1, 2]:
        return True
    for i in range(2, number):
        if number % i == 0:
            return False
    return True


def print_prime(start, end):
    for i in range(start, end+1):
        if is_prime(i):
            print(f"{i}是素数")


print_prime(11,25)

6.求1**2+2**2+3**2+。。。。+n**2

def func(data):
    if data == 1:
        return 1
    elif data > 1:
        return data**2+func(data-1)
    else:
        return "输入数据有误"

n = int(input("请输入需要求平方的项数:"))
print(func(n))
--------------------------------------
使用递归函数实现

7. 计算列表数字的和

lst = [1,2,3,4,5,6,7]

方法1: 使用sum函数
print(f"列表的和是{sum(lst)}")


方法2: 使用for循环
s = 0
for i in lst:
    s += i
print(f"列表的和是{s}")

8.计算数据范围内的偶数

def print_even(start, end):
    lst = []
    for i in range(start, end+1):
        if i % 2 == 0:
            lst.append(i)
    return lst


print(print_even(1, 50))

--------------------------
使用列表的append方法将符合条件的元素添加进去

9.移除列表内的某些元素

def remove_element(l1, l2):
    for i in l2:
        if i in l1:
            l1.remove(i)
    print(f"移除后的列表是:{l1}")


lst1 = [3, 5, 7, 9, 11, 13]
lst2 = [7, 11]
remove_element(lst1, lst2)

--------------------------
使用列表的remove方法删除指定元素

10.对列表内的元素去重

lst = [10, 20, 30, 10, 30, 40, 50]


# 方法1: 使用set集合去重
print(list(set(lst)))


# 方法2: 使用for循环并生成新列表
new_lst = []
for i in lst:
    if i not in new_lst:
        new_lst.append(i)
print(new_lst)

11.对简单(元素非复合类型)列表排序

lst = [10, 30, 20, 50, 45, 40]

# 方法1:使用列表的内置方法sort()不生成新列表
lst.sort()
print(lst)

# 方法2:使用冒泡排序
for i in range(1, len(lst)):
    for j in range(len(lst)-i):
        if lst[j] > lst[j+1]:
            lst[j], lst[j+1] = lst[j+1], lst[j]
print(lst)

# 方法3:使用内置函数sorted()生成新列表
new_lst = sorted(lst)
print(new_lst)

12.对复合数据实现排序(按照学生成绩升序排序)

students = [
    {"sno": 1001, "sname": "小张", "sgrade": 88},
    {"sno": 1002, "sname": "小李", "sgrade": 98},
    {"sno": 1003, "sname": "小王", "sgrade": 78},
    {"sno": 1004, "sname": "小何", "sgrade": 66},
]
new_lst = sorted(students, key=lambda x: x["sgrade"])
print(f"按照学生成绩升序排序后的列表是:\n{new_lst}")


---------------------------------------
1.使用高阶函数sorted,其中key是可以自定义排序规则。

13.读取文件数据并按照第三列降序排序

grade中的内容如下:

    101,小王,88
    102,小张,58
    103,小李,56
    104,小刘,98
    105,小何,78



with open('grade') as f:
    new_i = [i.strip().split(',') for i in f.readlines()]
    n = sorted(new_i, key=lambda x: x[2],reverse=True)
    print(n)


---------------------
1.使用上下文管理读取文件grade
2.readlines方法读取文件所有内容并自动换行
3.使用字符串内置函数strip去除空白字符串即换行符
4.使用split函数按照逗号将每行数据分隔
5.使用sorted的参数reverse=True进行降序排序

14.读取文件数据并求最大值,最小值和平均值

grade文件中的内容如下:

    101,小王,88
    102,小张,58
    103,小李,56
    104,小刘,98
    105,小何,78

with open('grade') as f:
    new_i = [i.strip().split(',') for i in f.readlines()]
    data_max = max(new_i, key=lambda x: x[2])
    data_min = min(new_i, key=lambda x: x[2])
    data_average = sum([int(i[2]) for i in new_i])/len(new_i)
    print(f"学生成绩最大值是:{data_max[2]},最小值是:{data_min[2]},平均成绩是:{data_average}")

-----------------------------
1.使用max,min函数中的参数key进行自定义排序

2.sum函数中计算成绩和,len函数求取文件中记录行数
相关推荐
myheartgo-on7 分钟前
PySpark——Python与大数据
大数据·python·信息可视化
weixin_4786897632 分钟前
【回溯法】——组合总数
数据结构·python·算法
天天要nx35 分钟前
D68【python 接口自动化学习】- python基础之数据库
数据库·python
山山而川 潺潺如镜39 分钟前
杰控通过 OPCproxy 获取数据发送到服务器
python
V搜xhliang02461 小时前
基于深度学习的地物类型的提取
开发语言·人工智能·python·深度学习·神经网络·学习·conda
API快乐传递者1 小时前
除了网页标题,还能用爬虫抓取哪些信息?
开发语言·爬虫·python
豌豆花下猫2 小时前
REST API 已经 25 岁了:它是如何形成的,将来可能会怎样?
后端·python·ai
平头哥在等你3 小时前
Python中的正则表达式教程
python·正则表达式
Best_Me073 小时前
如何在Pycharm的终端里进入自己的环境
ide·python·pycharm
好看资源平台4 小时前
爬虫开发工具与环境搭建——环境配置
爬虫·python