Python学习3

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()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值