python学习3
判断语句和循环语句
流程控制:
1.顺序结构:代码自上而下,逐行执行
2.分支结构:根据条件,分情况执行
3.循环结构:根据条件,不断重复执行
1.条件判断语句
"""
if语句是用来进行判断的,其使用格式如下 :
if 要判断的条件:
条件成立时,要做的事情
"""
age = 30
print("------if判断开始------")
if age>=18:
print("我已经成年了")
print("------if判断结束------")
#运行结果
"""
------if判断开始------
我已经成年了
------if判断结束------
"""
# if-else
#代码的缩进为一个tab键,或者4个空格
if True:
print("Answer")
print("True")
else:
print("Answer")
# print("Fasle") #缩进不一致,会导致运行错误
关于缩进
同一个代码段(层次),需要相同的缩进。
Python用缩进来表达程序的范围。(相对于其他编程语言,使用大括号来表示范围的)
官方建议缩进使用4个空格。
pycharm中将tab转换成4个空格的方法如下
打开设置,依次选择editor > codestyle > python ,然后设置tab键对应的空格数,之后点击保存。
if嵌套的格式
if 条件1:
满足条件1 做的事情1
满足条件1 做的事情2
…(省略)…
if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2
…(省略)…
说明:
1.外层的if判断,也可以是if-else
2.内层的if判断,也可以是if-else
3.根据实际开发的情况,进行选择
light = "红灯"
pedestrian = 1 #行人
turn_round = 0 #调头
if light == "绿灯":
#《道路交通安全法》第47条中的规定
if pedestrian == 1:
print("礼让,等待。。。。")
else:
print("绿灯行")
else:
# 《道路交通安全法》第49条中的规定
if turn_round == 1:
print("可以调头。。。。")
else:
print("停止,等待。。。")
2.模块的导入
import 与 from…import
在 python 用 import 或者 from…import 来导入相应的模块。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc,
thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import \*
#【生成随机数】
import ramdom #引入随即库
#生成指定范围的随机数
computer = random.randint(0,2) #随机生成0、1、2中的一个数字
3.循环控制语句
for循环
#for循环的格式
#for 临时变量 in 列表或者字符串等:
# 循环满足条件时执行的代码
for i in range(5): #相当于range(0,5),打印范围是 [0,5),左闭右开区间
print(i)
print("end")
for i in range(0,13,3):
print(i)
for i in range(-10,-101,-30):
print(i)
range() 函数返回一个可迭代的对象
range(start, stop[, step])
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
其他可迭代对象
#字符串
city = "chengdu"
for i in city:
print(i,end="\t")
#元组
a = (10,20,30)
for i in a:
print(i)
#列表
n = ["aa","bb","cc"]
for i in n:
print(i)
n = ["aa","bb","cc","dd"]
print(len(n))
for _ in range(len(n)):
print(f"{_}位置,元素{n[_]}")
while循环
while True: #死循环,交互模式种使用Ctrl+C中断程序运行
s = input("请输入内容:")
print("您输入了:", s)
i = 0
while i<5:
print(i)
i += 1 #i = i + 1
计算1-100自然数相加的和
total = 0 #保存求和结果
n = 1 #当前循环的数字
while n <= 100:
total += n #total = total + n
n += 1
print("1到100的和为:",total)
"""
执行过程说明:
n = 1 total = 0 开始循环
第一次循环: n = 1 (n<=100:True) total = 1 n = 2
第二次循环: n = 2 (n<=100:True) total = 3 n = 3
....
第100次循环: n = 99 (n<=100:True) total = 4950 n = 100
第101次循环: n = 100 (n<=100:True) total = 5050 n = 101
第102次循环: n = 101 (n<=100:False) 循环结束
"""
求1-100的偶数和
#写法1:
total = 0 #保存求和结果
n = 100 #当前循环的数字
while n > 0:
if n % 2 == 0: #表示如果n/2 余数为0,就是偶数
total += n #total = total + n
n -= 1 #每次循环都要-1,所以需要在while的层次内
print("1到100的偶数和为:",total)
#写法2
total = 0
n = 100
while n > 0:
total += n
n -= 2
print("1到100的偶数和为:",total)
扩展:使用内置函数,快速实现1…100的和
#range(101) #[0,100]
print("1到100的和为:",sum(range(101)))
4.break和continue
#带有break的循环示例如下
i = 0
while i<10:
i = i+1
print('----')
if i==5:
break
print(i)
#带有continue的循环示例如下
i = 0
while i<10:
i = i+1
print('----')
if i==5:
continue
print(i)
#while\for和else结合使用(了解)
for i in range(3):
cmd = input("请输入指令:")
if cmd == "exit":
break
print("您输入了",cmd)
else:#else语句在循环被中断的情况下不执行
print("您输入了3次命令")
题目:
打印输入四个星期的每一天。格式如下:
第1周:
星期一、星期二、星期三、星期四、星期五、星期六、星期日、
第2周:
星期一、星期二、星期三、星期四、星期五、星期六、星期日、
第3周:
星期一、星期二、星期三、星期四、星期五、星期六、星期日、
第4周:
星期一、星期二、星期三、星期四、星期五、星期六、星期日、
a = ["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
for i in range(4):
print(f"第{i+1}周:")
for j in a:
print(j,end="、")
print()
内层循环也可以访问外部循环的变量,但外部循环无法访问内部循环的变量
a = ["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
for i in range(4):
print(f"第{i+1}周:")
for j in a:
print(f"{j}",end="、")
#print(j) #访问不到变量j
print()