python学习第一天--基础知识练习
基础语法及三大流程控制
推荐使用xmind思维导图对知识整体框架的进行梳理。
基础语法
数据格式化输出: https://blog.csdn.net/kebu12345678/article/details/54845228
python3基础语法:https://www.runoob.com/python3/python3-basic-syntax.html

三大流程控制
条件 :https://www.runoob.com/python3/python3-conditional-statements.html
循环:https://www.runoob.com/python3/python3-loop.html

温度转换器

将程序打包成exe程序
为了防止代码被盗,需要对代码进行打包。这里,介绍一下制作exe程序的方法。
-
安装第三方模块pyinstaller
 -
一个图标库和一个图片转换网站:图标库:https://www.iconfont.cn/search/index?searchType=icon&q=%E6%B8%A9%E5%BA%A6, 图片转换为ico的:https://www.easyicon.net/covert/
-
pyinstaller -F -i temper.ico 华氏温度转换为摄氏温度.py
生成一个dist目录,然后点击exe程序即可使用。

九九乘法表和防黑客暴力破解的用户登录系统
九九乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}*{i}={j*i}", end=' ')
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}登录失败')
else:
print("尝试的次数大于3次")

彩虹棒棒糖
import turtle
"""
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=colors[i%n]
turtle.color(color)
turtle.circle(i // 3, 5)
# 彩虹色棒棒糖绘制完成
turtle.done()

python内置的数据类型
"""
字符串str:单引号,双引号,三引号引起来的字符信息。
数组array:存储同种数据类型的数据结构。[1, 2, 3], [1.1, 2.2, 3.3]
列表list:打了激素的数组, 可以存储不同数据类型的数据结构. [1, 1.1, 2.1, 'hello']
元组tuple:带了紧箍咒的列表, 和列表的唯一区别是不能增删改。
集合set:不重复且无序的。 (交集和并集)
字典dict:{“name”:"westos", "age":10}
"""
# 1. 字符串str
s1 = 'hello'
s2 = "hello"
s3 = """
*********************** 学生管理系统 ************************
"""
print(type(s1), type(s2), type(s3))
# 2. 列表List
li1 = [1, 2, 3, 4]
print(li1, type(li1))
li2 = [1, 2.4, True, 2e+5, [1, 2, 3]]
print(li2, type(li2))
# 3. 元组tuple
# 易错点: 如果元组只有一个元素,一定要加逗号。
t1 = (1, 2.4, True, 2e+5, [1, 2, 3])
print(t1, type(t1))
t2 = (1,)
print(t2, type(t2))
# 4. 集合set(无序,不重复)
set1 = {1, 2, 1, 2, 3, 1, 20}
print(set1) # 不重复{1, 2, 20}
set2 = {1, 2, 3}
set3 = {2, 3, 4}
print("交集:", set2 & set3)
print("并集:", set2 | set3)
# 5. 字典dict: {“name”:"westos", "age":10}
# key和value, 键值对, 通过key可以快速找到value值。
user = {"name":'westos', 'age':10}
print(user, type(user))
print(user['name'])
print(user['age'])