当前位置: 首页 > news >正文

Python学习笔记

MJ大神的Python课,课堂笔记

  • int 和float运算结果是 float
  • 除法(/)的结果是float
  • 整除(//),向下取整(floor)
  • int 和 int 进行整除(//),得到的结果是int

绘制一个填充色+边框色

import turtle# 绘制一个填充色+边框色
turtle.hideturtle()
turtle.pencolor('green')
turtle.pensize(10)turtle.fillcolor('yellow')
turtle.begin_fill()
turtle.circle(100)
turtle.end_fill()# 运行完还保存在原地
turtle.mainloop()

在这里插入图片描述

画一个彩色圆

import turtleturtle.hideturtle()
turtle.pensize(10)
turtle.color('green')
turtle.circle(100, 90)turtle.color('yellow')
turtle.circle(100, 90)turtle.color('red')
turtle.circle(100, 90)turtle.color('blue')
turtle.circle(100, 90)
# 运行完还保存在原地
turtle.mainloop()

在这里插入图片描述

变量

变量可以由:单词字符(英文字母、中文等)、数字、下划线组成

变量的交互

a = 10
b = 20
print('a =', a, 'b =', b)
a, b = b, a
print('a =', a, 'b =', b)
print('a = ' + str(a) + ' b = ' + str(b))a = 10 b = 20
a = 20 b = 10
a = 20 b = 10

输入数字,绘制正方形

import turtle# width = int(input("请输入正方形的边长:"))# width = int(turtle.textinput("title", "content"))width = turtle.numinput("title", "content")turtle.forward(width)
turtle.right(90)turtle.forward(width)
turtle.right(90)turtle.forward(width)
turtle.right(90)turtle.forward(width)turtle.mainloop()

转义字符

print('123\n456')
print(r'123\n456')123
456
123\n456

前面加r,表示raw string,原始字符串,禁止转义
使用前提:去掉r,里面的字符串也是一个正确的字符串

当print打印内容过多的时候,可以使用**\ 回车**的方式,进行换行,这样打印出来的时候,还是连续的,没有换行

打印*练习

print("方法一:")
print('*')
print('**')
print('***')
print('****')
print('*****')print('\n方法二:')
print('*\n**\n***\n****\n*****')print('\n方法三:')
print('*')
print('*' * 2)
print('*' * 3)
print('*' * 4)
print('*' * 5)print('\n方法四:')
print('''*
**
***
****
*****
''')

有变量的打印

a = 10
b = 100
print(f"a = {10}, b = {100}")
print(F"a = {10}, b = {100}")打印结果:
a = 10, b = 100
a = 10, b = 100name = 'Jack'
age = 19
# %s %d/%i %f
print('My name is %s, and I am %d years old' % (name, age))打印结果:
My name is Jack, and I am 19 years oldage = 19
print('我的名字是%d岁' % age)
print('我的名字是%4d岁' % age)
print('我的名字是%-4d岁' % age)打印结果:
我的名字是19岁
我的名字是  19岁
我的名字是19  岁h = 1
m = 2
s = 3
print('现在的时间是:%02d:%02d:%02d' % (h, m, s))打印结果:
现在的时间是:01:02:03

and or

and、or的运算结果并不一定就是True、False

a or b

  • 如果a为假,就返回b,否则返回a

a or b 一真则真
a是假的,则整体a or b是真是假的,需要看b的结果
a是真的,则整体的真假,只需要看a即可

a and b

  • 如果a为假,就返回a,否则返回b

a and b 一假则假
a是假的,那么整体就是假的,不需要看b,直接返回a就行
a是真的,那么,就看b是真假

总结一下and、or的运算结果

  • 要么是a、要么是b
  • 其实是最后被执行到的那个值

while练习

# 提示输入一个1~100的正整数
# 如果输入错误,要求重新输入
# 如果输入正确,请打印一下计算结果1+2+3+...+n
n = int(input("请输入[1, 100]范围的正整数:"))while n < 1 or n > 100:n = int(input("请输入[1, 100]范围的正整数:"))result = 0
while n > 0:result = result + nn = n - 1
print(f"相加结果是:{result}")

绘制一个五角星

import turtle
n = int(input("输入五角星宽度:"))turtle.color('red')
turtle.hideturtle()turtle.begin_fill()for _ in range(5):turtle.forward(n)turtle.left(72)turtle.forward(n)turtle.right(144)turtle.end_fill()turtle.mainloop()

在这里插入图片描述

import turtle
# 修改箭头颜色
turtle.shape('turtle')
#'arrow', 'turtle', 'circle', 'square', 'triangle', 'classic'.
turtle.color('green')for i in range(50):turtle.forward(50 + i * 5)turtle.right(60)#盖章turtle.stamp()turtle.mainloop()

在这里插入图片描述


List

负数索引

可以使用负数索引
比如-1表示倒数第1个

非负索引 + 负索引的绝对值 == len(列表)

假设列表的长度是n
那么索引的取值范围是[ -n, n - 1]

all() any()

  • all(x):如果可迭代对象x中的所有元素都是真,就返回True,否则返回False
  • any(x):只要可迭代对象x中的有元素为真,就返回True,否则返回False

切片(slice)

列表的切片:从列表中选取一部分元素,组成一个新的列表

s[i:j]代表:从s[i] 到s[j-1]的元素

s1 = [55, 44, 33, 22, 11]
对其切片:
s2 = s1[1:4]代表:s2 = [44, 33, 22]

对s1切片,获取s2,此时,s1不会发生任何变化

s = [i ** 2 for i in range(12, 17)]
代表的意思是:
s = [12^2, 13^2, 14^2, 15^2, 16^2]


方法(method)

方法:是一种需要通过 对象 来调用的特殊函数(function)
方法的使用格式:对象.方法名(参数)

函数

print("你好")

方法

s = [1, 2, 3]
s.index(2)

append和extend的区别

在这里插入图片描述


str操作

s.index(x):从左往右,查找x元素,在s中的最小索引
s.rindex(x):从右往左,查找x元素,在s中的最大索引

s.find(x):从左往右,查找x元素,在s中的最小索引
s.rfind(x):从右往左,查找x元素,在s中的最大索引

两者区别:

  • index找不到的话报错(ValueError)
  • find找不到的话,给-1

给一个字符串,统计字符串中0、1出现的次数

inputStr = input("请输入数字:")
count0 = 0
count1 = 0for i, e in enumerate(inputStr):if inputStr[i] == "0":count0 += 1if inputStr[i] == "1":count1 += 1print(f"0出现了{count0}次")
print(f"1出现了{count1}次")

sep=修改分隔符

print(11, 222, 33, sep='+', end='\n')打印结果:
11+222+33
s.title():将字符串里面,每一个单词的首字符变大写
s1 = "my name is jack"
s2 = s1.title()print(s1, s2, sep='\n')打印结果:
my name is jack
My Name Is Jack
s.capitalize():将字符串里面,首字符变大写,其余保持不变
s1 = "my name is jack"
s2 = s1.capitalize()print(s1, s2, sep='\n')打印结果:
my name is jack
My name is jack

http://www.mrgr.cn/news/78808.html

相关文章:

  • 头歌Hadoop 开发环境搭建及HDFS初体验(第2关:配置开发环境 - Hadoop安装与伪分布式集群搭建)
  • Cannot resolve symbol ‘ActivityThread‘ | Android 语法
  • 第三章:基本语法 3.数据类型 --Go 语言轻松入门
  • 探索未来:深入人工智能学习框架的奥秘与实践
  • 【真正离线安装】Adobe Flash Player 32.0.0.156 插件离线安装包下载(无需联网安装)
  • GPT模型:改变世界的AI魔法师
  • 鸿蒙Next星河版基础用例
  • 英语写作中以rationale 替代reason(理由)
  • 探索未来:深入人工智能学习框架的奥秘与实践
  • C与指针。
  • 使用Python OpenCV实现图像形状检测
  • Docker命令总结
  • 【学术投稿】Imagen:重塑图像生成领域的革命性突破
  • 最大似然估计:求解指数族分布的参数 ( η) 具有封闭解 (中英双语)
  • 江协科技最新OLED保姆级移植hal库
  • 【论文投稿】国产游戏技术:迈向全球引领者的征途
  • DataX实战|使用Python 构建简易的DataX数据血缘工具(一)
  • Proxy详解
  • 大数据hadoop、spark、flink、kafka发展的过程
  • 【MySQL-6】MySQL的复合查询
  • RPC中定时器制作思路
  • 视觉语言动作模型VLA的持续升级:从π0之参考基线Octo到OpenVLA、TinyVLA、DeeR-VLA、3D-VLA
  • 贪心算法理论
  • JavaScript 前端开发:从入门到精通的奇幻之旅
  • 自动驾驶目标检测融合全貌
  • 点击A组件跳转到B页面的tab的某一列