参考上篇博客中的温度转换器
三元运算符是软件编程中的一个固定格式,使用这个算法可以使调用数据时逐级筛选。
语法:条件表达式?表达式1:表达式2。
含义: 如果
条件表达式成立
或者满足则执行表达式1
,否则执行第二个
。
原理: while 循环的 suite_to_repeat 子句会一直循环执行, 直到 expression 值为布尔假
与传统语言(e.g.C/C++,Java )中的 for 语句不同, Python 的 for语句更加简洁.
for循环原理:
可以遍历序列成员, 可以用在 列表解析 和 生成器表达式中, 它会自动地调用迭代器的 next()
方法, 捕获 StopIteration 异常并结束循环(所有这一切都是在内部发生的).
range语法:
range(start, end, step =1)返回一个包含所有 k 的列表, start <= k < end , k每次递增 step
range(3) | [0,1,2] |
---|---|
range(1, 4) | [1,2,3] |
range(0, 6, 2) | [0,2,4] |
break语句用来终止循环语句,即循环条件没False条件或者序列还没被完全递归完,也会停止执行循环语句。
continue 跳过当前循环的剩余语句,然后继续进行下一轮循环。
i=1 j=1 1*1
i=2 j= 1,2 1*2 2*2
i=3 j=1,2,,3 1*3 2*3 3*3
for i in range(1,10):
for j in range(1,i+1):
print(f"{j}*{i}={j*i}",end=' ')
print()
for i in range(1,10):
for j in range(1,i):
print('\t',end='\t')
for k in range(i,10):
print('%d*%d=%d'%(k,i,i*k),end='\t')
print()
try_count = 1 # 用户尝试登录的次数
while try_count<=3:
print(f'用户第{try_count}次登录系统')
try_count += 1 # 用户尝试登录的次数+1
name = input("用户名:")
password = input("密码:")
if name == 'root' and password == 'westos':
print(f'用户{name}登录成功')
exit() # 退出程序
else:
print(f'用户{name}登录失败')
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
命令 | 说明 |
---|---|
turtle.pensize(width) | 绘制图形时的宽度 |
turtle.pencolor() | 画笔颜色 |
Tuttle.fillcolor(colorstring) | 绘制图形的填充颜色 |
Turtle.color(color1,color2) | 同时设置pencolor=color1,fillcolor=color2 |
Turtle.filling() | 返回当前是否填充状态 |
Turtle.begin_fill() | 准备开始填充图形 |
Turtle.end_fill() | 填充完成 |
Turtle.hideturtle() | 隐藏箭头显示 |
Tutle.showturtle() | 与hideturtle() 函数对应 |
Turtle.forward(dista) | 向当前画笔方向移动distance像素长 |
Turtle.backward(distance) | 向当前画笔相反方向移动distance像素长度 |
Turtle.right(digree) | 顺时针移动degree |
Turtle.left(digree) | 逆时针移动degree |
Turtle.pendown() | 移动时绘制图形,缺省时也为绘制 |
Tuttle.goto(x,y) | 将画笔移动到坐标为x,y的位置 |
Turtle.penup() | 移动时不绘制图形,提起笔,用于另起一个地方绘制时用 |
Turtle.speed(speed) | 画笔绘制的速度范围[0,10]整数 |
Turtle.circle() | 画圆,半径为正负,表示圆心在画笔的左边(右边)画圆 |
R:red, G:green, B:blue
RGB颜色表示法:
red: (255,0,0)
green: ()
blue: ()
# 1. 生成渐变色的列表
# 从红色到黄色
colors1 = [(255, g, 0) for g in range(0, 256)]
# 从黄色到绿色
colors2 = [(r, 255, 0) for r in range(255, -1, -1)]
# 从绿色到青色
colors3 = [(0, 255, b) for b in range(0, 256)]
# 从青到蓝
colors4 = [(0, g, 255) for g in range(255, -1, -1)]
# 从蓝到紫
colors5 = [(r, 0, 255) for r in range(0, 256)]
# 从紫到红
colors6 = [(255, 0, g) for g in range(255, -1, -1)]
# colors = colors1 + colors2 + colors3 + colors4 + colors5 + colors6
colors = colors1 + colors2 + colors3 + colors4 + colors5 + colors6
n = len(colors)
# 2. 基于turtle生成彩虹糖(可根据自己的喜好调整彩虹棒棒糖的颜色)
# 画笔的大小: 20px
turtle.pensize(20)
# 画图的速度,0代表最快速度
turtle.speed(0)
# 设置turtle指定颜色的模式, 255代表rgb模式
turtle.colormode(255)
# 循环1000次不断画圆,画圆的同时不断调整圆的半径
for i in range(1000):
# 如果颜色超出给定的范围,和总颜色个数取余,从头开始获取颜色。
color = (255, 0, 0)
turtle.color(color)
turtle.circle(i // 3, 5)
# 彩虹色棒棒糖绘制完成
turtle.done()