基础
代码块
以冒号作为开始,用缩进来划分作用域
作用域
作用的区域,作用的范围
# 代码块的注意点:
"""要么全都是一个tab缩进,要么全都是4个空格,不能混合使用"""
流程控制
"""
流程: 代码执行的过程
控制: 对代码执行过程的一种把控
三大结构:
1.顺序结构 : 默认代码依次从上到下执行
2.分支结构 : 4种
3.循环结构 : for while
分支结构:
(1)单项分支
(2)双项分支
(3)多项分支
(4)巢状分支
"""
1.单项分支
"""
if 条件表达式:
code1
code2
当条件表达式成立,返回True,执行对应的代码块,反之不执行
"""
a = 1
if a == 1:
print(2)
2.双项分支
"""
if 条件表达式:
code1
code2
else:
code3
code4
如果条件表达式成立,执行if对应的代码块
如果条件表达式不成立,执行else对应的代码块
if 代码块也叫做真区间
else 代码块也叫做假区间
"""
a = 1
if a == 1:
print(2)
else:
print(3)
# input 等待用户输入字符串,接受的数据是字符串
"""
name = input("先生,贵姓?~")
print(name , type(name))
"""
"""
网站登录功能:
提示用户输入对应的用户名和密码
如果用户名admin,密码000
提示用户,登录成功
否则提示,登录失败
"""
username = input("请输入您的用户名:")
password = input("请输入您的密码:")
if username == "admin" and password == "000":
print("登录成功~")
else:
print("登录失败~")
多项分支 (多选一)
'''
语法:
if 条件表达式1:
code1
elif 条件表达式2:
code2
elif 条件表达式3:
code3
else:
code...
如果条件表达式1成立, 返回True, 执行对应代码块, 反之则向下执行
如果条件表达式2成立, 返回True, 执行对应代码块, 反之则向下执行
如果条件表达式3成立, 返回True, 执行对应代码块, 反之则向下执行
直到最后, 任何条件都不满足, 执行else这个分支的代码块
elif 可以出现0次或者多次
else 可以出现0次或者一次
'''
a = 1
b = 1
c = 1
d = 1
if a == 1:
print(1)
elif b == 1:
print(2)
elif c == 1:
print(3)
elif d == 1:
print(4)
else:
print(1234567)
巣状分支 (单项分支, 双项分支, 多项分支的互相嵌套)
a = 1
b = 1
c = 1
d = 1
e = 1
if a == 1:
if b == 1:
if c == 1:
if d == 1:
print('what?')
else:
print('why?')
else:
print('OK')
else:
print('END')
循环结构: while 循环结构
'''
特点: 减少冗余的代码, 提升代码的效率
语法:
while 条件表达式:
code1
code2
1. 初始化一个变量
2. 写上循环的判断条件
3. 自增自减的变量值
'''
打印1~ 100
i = 1
while i <= 100:
# 注释
print(i)
i += 1
"""
初始化一个变量i
第一次循环
i = 1 , i<=100 成立返回True,执行循环
print(1)
i += 1 => 2
第二次循环
i = 2 , i<=100 成立返回True,执行循环
print(2)
i += 1 => 3
第三次循环
i = 3 , i<=100 成立返回True,执行循环
print(3)
i += 1 => 4
....
什么时候结束?
当i = 101时候, 判断i <= 100 不成立返回False ,不执行循环
循环结束...
"""
计算 1~ 100 的累加和
# 方法一
i = 1
total = 0
while i <= 100 :
# 把所有的i值全部累加到total这个变量中
total += i
i += 1
print(total)
"""
# 代码解析:
第一次循环
i = 1 i<=100 成立执行循环
total += i => total = total + i => 0 + 1
i+=1 => 2
第二次循环
i = 2 i<=100 成立执行循环
total += i => total = total + i => 0 + 1 + 2
i+=1 => 3
第三次循环
i = 3 i<=100 成立执行循环
total += i => total = total + i => 0 + 1 + 2 + 3
i+=1 => 4
....
依次循环
什么时候结束?
i = 100
total = 0 + 1 + 2 + 3 + 4 + ...+ 100 = 5050
当i = 101 不满足循环的条件 , 直接跳出,循环结束..
到此打印 5050 ;
"""
# 方法二.
total = 0
i = 1
sign = True
while sign:
total += i # total = total + i
i+=1
# 手动加上终止循环的条件
if i == 101 :
sign = False
print(total)
# 死循环 避免使用
"""
while True:
print(123)
"""
单项循环的练习
# 1.打印一行十个小星星 help函数查看帮助文档
"""
help(print)
print("*",end="")
print("*",end="")
print("*",end="")
print("*",end="")
print("*",end="")
print("*",end="")
print("*",end="")
print("*",end="")
print("*",end="")
print("*",end="")
"""
# (1).初始化变量
i = 0
# (2).循环判断的条件
while i <10:
# (4).写上自己的代码逻辑
print("*",end="") # 打印小星星
# (3).自增加1
i+=1
print("<================>")
# 2.通过打印变量实现一行十个小星星
# 字符串的拼接
var1 = "1,"
var2 = "2"
res = var1 + var2
print(res)
var1 += var2 # var1 = var1 + var2
print(var1)
# 循环10次,拼接了10个星星
i = 0
strvar = ""
while i < 10:
strvar += "*" #strvar = '' + "*" / '*' + '*' / "**" + '*' / "***" + "*" / "*********" + "*"
i+=1
print(strvar)
# 3.打印一行十个小星星,奇数个为★ , 偶数个位☆
# ★☆★☆★☆★☆★☆
"""
任意数和n取余,范围是多少? 0 ~ (n-1)
n = 2
0 % 2 = 0
1 % 2 = 1
2 % 2 = 0
3 % 2 = 1
4 % 2 = 0
5 % 2 = 1
0~1
n = 5
0 % 5 = 0
1 % 5 = 1
2 % 5 = 2
3 % 5 = 3
4 % 5 = 4
5 % 5 = 0
6 % 5 = 1
0~4
扑克牌 4种花色 方片 草花 红桃 黑桃
"""
i = 0
while i<10:
# 写上代码的逻辑
if i % 2 == 0:
print("★",end="")
else:
print("☆",end="")
i+=1
print("<================>")
# 4.一个循环打印十行十列的小星星
"""
0123456789
********** 0~9
10111213141516171819
* * * * * * * * * * 10~19
********** 20~29
********** 30~39
********** 40~49
********** 50~59
********** 60~69
********** 70~79
********** 80~89
********** 90~99
怎么能找到 9 19 29 39 49 ... 99 这颗星星呢?
"""
i = 0
while i < 100:
# 打印星星
print("*",end="")
# 打印换行
if i % 10 == 9:
print()
i+=1
# 5.一个循环打印十行十列隔列换色的小星星
"""
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
"""
i = 0
while i < 100:
# 打印星星
# print("*",end="")
if i % 2 == 0:
print("★",end="")
else:
print("☆",end="")
# 打印换行
if i % 10 == 9:
print()
i+=1
# 6.一个循环打印十行十列隔行换色的小星星
"""
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
"""
"""
任意数和n进行地板除,会出现n个相同的数字
0 // 2 = 0
1 // 2 = 0
2 // 2 = 1
3 // 2 = 1
4 // 2 = 2
5 // 2 = 2
0 // 6 = 0
1 // 6 = 0
2 // 6 = 0
3 // 6 = 0
4 // 6 = 0
5 // 6 = 0
6 // 6 = 1
7 // 6 = 1
8 // 6 = 1
9 // 6 = 1
10 // 6 = 1
11 // 6 = 1
12 // 6 = 2
....
0 ~ 9 // 10 会出现10个相同的0
10~19 // 10 会出现10个相同的1
20~29 // 10 会出现10个相同的2
...
90~99 // 10 会出现10个相同的9
到此, 地板除的值 范围为: 0 ~ 9
"""
print("<======>")
i = 0
while i<100:
# 打印星星
if i // 10 % 2 == 0:
print("★",end="")
else:
print("☆",end="")
# 打印换行
if i % 10 == 9:
print()
i+=1