IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 100个经典Python案例(b站课程笔记) -> 正文阅读

[数据结构与算法]100个经典Python案例(b站课程笔记)


目录

1、【题目学习】

2、【专题学习】def 定义学习


1、【题目学习】

1、python中绘制图像的函数库:turtle

turtle.left(120)#逆时针旋转120°
turtlr.right(120)#顺时针旋转120°

turtle.circle#画圈
turtle.circle(i)#不重复地画圈

2、常量和变量

print(19,type(19))#输出数据的类型

常量有五种:

---整数型常量 int

---浮点型常量 float 10.0

---复数型常量 complex 0+1j

---字符串型 str “ok”

---布尔型 bool True

0o11 八进制? ? 0x1A? 十六进制

变量:

x,y=3,4
print(x,y)
x,y=y,x#交换x和y的值
x+=2
x-=2#x=x-2

3、求长为6,宽为8的矩阵的对角线的长

pow(x,a)#x的a次方
sqrt(6*6+8*8)#求根,但用之前需要先导入math库

import math
math.sqrt()#导入math库

4、从键盘输入一个十进制整数,将其转化为二进制数,八进制数和十六进制数

x=int(input())
print(bin(x))#二进制
print(oct())#八进制
print(hex())#十六进制

5、输入整数A、B(A<B),从区间[A,B]随机选取两个整数(或小数)并在屏幕上分别输出他们的数值与和

import random

A=input()
A=int(A)
B=input()
B=int(B)

a=random.randint(A,B)#选取随机整数
b=random.randint(A,B)
c=random.uniform(A,B)#选取随机小数

random.random()#选取区间[0.0,1.0]内的一个随机小数

6、输入一个三位数n,计算n的各个位数之和

n = int(input())

a = n//100#求商,123/100=1.23,123//100=1
b = (n%100)//10#%是求余的意思
c = (n%10)//1

7、判定一个给定的正整数x是否为偶数,若x是偶数则输出x,不是则无输出,若x是偶数则输出“x是偶数”,不是则输出“x是奇数”

x = int(input())
if x%2 == 0:
print(x)

x = int(input())
if x%2 == 0:
    print("%d是偶数"%x)
else:
    print("%d是奇数"%x)

8、计算并输出前100个自然数之和

sum = 0
i = 1
while i < 100:
     sum = sum+i
     i = i+1
print(sum)

9、输入字符串s,将其包含的小写字母转换成大写,大写转换成小写

s = input()
for i in range(len(s)):
    if s[i] >= "A" and s[i]<="Z":
    print(char(ord(s[i])+32),end="")
    elif s[i] >= "a" and s[i]<="z":
    print(char(ord(s[i])-32),end="")#输出转换成字符串,并且不要自动换行

10、逆序三位数输出

s = input()
print(int(s[::-1]))#逆序输出的代码,为了让输出不会出现007,所以使用int

11、输入A和B,其中1<=A<=9,1<=B<=10,产生数字AA...A,一共有B个A

A,B = input().split()
print(A*int(B))#重复输出B次字符串A

12、输入一个三位数n,计算n的各个位数之和

n = input()
a = int(n[0])#字符串的第一个索引值
b = int(n[1])
c = int(n[2])
print(a,b,c,a+b+c)

13、新建一个列表,内容为"1.”A“,[2,"B"]",求列表的长度,输出列表的最后一个元素,向列表添加元素"c"(添加在列表末尾,添加在列表第一个元素之后),删除列表最后一个元素【这道题里有很多新的函数】

x = [1,"A",[2,"B"]]
print(len(x))#求长度就用len()这个函数即可
print(x[len(x)-1],x[-1])#求最后一个元素用索引即可,这两种方式均可
x.append("c")#这个函数可在列表末尾添加元素
print(x)
x.insert(1,"c")#添加元素在第一个元素之后
print(x)
x.pop()#删除列表最后一个元素
print(x)
x.pop(0)#删除列表第一个元素
print(x)

14、对于给定的正整数N,求其位数以及各个位上的数字之和

N = input()#如果输入153,则输出的就是str类型
lis = [int(i) for i in N]#创建一个列表
print(len(lis),sum([i for i in lis]))

15、随机输入一个字符串,把最左边10个不重复的英文字母(不区分大小写)挑选出来,如果没有10个英文字母,则显示"not found"

s = input()
#都转化成大写或者都转化成小写
#lower()大写转小写
#upper()小写转大写
#index()获得列表中某个匹配项第一次出现的索引值
s1 = s.lower()
l = list(s1)
x = []
for i in range (len(l)):
    if l[i] >= "a" and l[i] <= "z":
        if l.index((l[i])) == i:#匹配项第一次出现的索引值等于这次的值
            if len(x) < 10:
                x.append(i)
s2 = "".join([s[k] for k in x])
if len(s2) < 10:
    print("not found")
else:
    print(s2)

16、输入某年某月某日,判断这一天是这一年的第几天

year,month,day = map(int,input().split())#输入两个整数,读取.split()默认以空格拆分,对字符串进行切片
y1 = (31,29,31,30,31,30,31,31,30,31,30,31)
y2 = (31,28,31,30,31,30,31,31,30,31,30,31)
result = 0
if year%400==0 or (year%4==0 and year%100!=0):#判定平年还是闰年
    for i in range(month-1):#注意这里i的使用
        result+=y1[i]
else:
    for i in range(month-1):
        result+=y2[i]
print(result+day)

17、求指定区间内能被3,5,和7整除的数的个数

set3 = set()
set5 = set()
set7 = set()
a,b = map(int,input().split())
for i in range(a,b+1):
    if i%3==0:
        set3.add(i)
    if i%5==0:
        set5.add(i)
    if i%7==0:
        set7.add(i)
print(len(set3&set5&set7))

18、每个列表中只要有一个元素出现两次,则该列表被判定为包含重复元素,判断输入的n个列表中有几个列表包含重复元素

n = int(input())
count = 0#但凡是和计数有关系的,首先应该想到用count
for i in range (n):
    a = eval(input())
    if len(a)!=len(set(a)):
        count+=1
print(count)

19、给定n个学生的基本信息,包括学号、姓名、和成绩,输出总分最高的学生的姓名学号和总分

2、【专题学习】def 定义学习

#[1]基本使用
def func():
    b = 1
    c = 1
    a = b + c
    print(a)
func()

#[2]函数参数
def func(b,c):
    b = 1
    c = 1
    a = b+c
    print(a,'=b+c')
func(1,1)

#[3]函数默认参数
def func(a,color='red'):
    print(a,color)
func(1)

#[4]自调用(不太懂)
if __name__ == '__main__':

#[5]可变参数,参数可以取好几个值
def func(name,*grades):
    total_grade = 0
    for grade in grades:
        total_grade = total_grade+grade
    print(name,total_grade)
func('sunbing',90,99)

#[6]关键字参数,参数在函数内部封装成一个字典
def func(name,**kw):
    print('name is',name)
    for k,v in kw.items():
        print(k,v)
func('sunbing',age=22,gender='girl',country='China')

#[7]函数中的变量
#在函数中定义的变量是局部变量,在函数外调用的话会报错,如果不想报错只能用全局变量
#局部变量通过用global可以变成全局变量
a = None
def func():
    global a
    a = 20
func()#如果这里不运行函数func,得到的就是a=none
print(a)

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-09-18 10:27:04  更:2021-09-18 10:28:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:47:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码