6-Python三目运算符和循环的补充

一 三目运算符和循环的补充

三目运算符主要写简洁的代码,不建议写复杂的代码

整除是除完之后余数为0的就叫做整除

不能被整除就是说还有余数

1.编写一个程序,检查任意一个年份是否是闰年
- 如果一个年份可以被4整除不能被100整除,或者可以被400整除,这个年份就是闰年
# 输入一个年份,将字符串转为整形
year = int(input("请输入任意一个年份:"))
# 检查这个年份是否是闰年
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
    print(year,"是闰年")
else:
    print(year,"是平年")

2.计算1+2+3+....+100
num = 1  # 从1开始
sum = 0  # 初始化一个去累计的变量
while num < 101:
    sum += num  # sum=sum+num
    num += 1  # num=num+1
    #print(sum)
print(sum)

while…else…

当while循环正常执行完,中间没有被break中止的话,就会执行else后面的语句

count = 0
while count<=5:
    count+=1
    print(count)
else:
    print("循环正常执行完了")
    
1
2
3
4
5
循环正常执行完了

1.1 for循环

语法:

for 变量名 in range(start,stop,step):
    循环体

1.1.1 range()是什么

它的语法:
是左闭右开区间,生成整数范围,range()也可以单独使用
range(start,stop,[,step])
start指的是计数起始值,默认是0
stop指的是计数结束值,但不包括stop
step是步长,默认为1,不可以为0
步长就是跳过几运行

注意:
1.它表示的是左闭右开区间
2.它接收的参数必须是整数,可以是负数,但是不能是浮点数等其他类型
3.它是不可变的序列类型,可以进行判断元素、查找元素、切片等操作,但是不能修改元素
4.它是可迭代对象,却不是迭代器

输出1-100

for i in range(1,101,1):
    print(i)
for i in range(1,101):
    print(i)    
#0-100
for i in range(101):
    print(i)

for循环每次循环,变量i的值都会发生变化,根据range 的开始值和结束值来变

打印1-100中所有的偶数
for i in range(2,101,2):
    print(i)
    
打印1-100的累加和
sum = 0
for i in range(1,101):
    sum += i
print(sum)

账号是:root,密码是123456

只循环5次

程序提示输入账号和密码,如果账号和密码错误,就重新输入账号和密码,如果输入正确就打印登录成功

break作用就是退出

username = "root"
password = '123456'
for i in range(5):
    u = input("请输入账号:")
    p = input("请输入密码:")

    if u == username and p == password:
        print("登录成功")
        break
    else:
        print("密码错误,请重新输入")

1.1.2 break和continue

break和continue是循环中满足一定条件退出循环的两种方式,只能在循环中使用

break:退出整个循环

continue:退出本次循环,继续执行下一次循环

吃十个苹果

3——》发现吃饱了,就不要吃了,循环就可以停止了,break的循环终止流程

for i in range(1,11):
    if i == 3:
        print("吃饱了,不吃了")
        break
    print("正在吃第"+str(i)+"个苹果!")

3——》吃到了虫子,直接扔掉,吃第四个,这就是continue的循环跳出流程,即退出当前一次循环,但是整个循环还在继续执行

for i in range(1,11):
    if i == 3:
        print("吃到虫子,换下一个")
        continue
    print("正在吃第"+str(i)+"个苹果!")

1.1.3 循环嵌套

在循环里面再循环

for i in range(2):
    for j in range(5):
        print("hello world")
        
# 外层for会执行2次
# 内层for会执行5次

for i in range(2):
    print("========外层")
    for j in range(5):
        print("===内层")

练习:

打印一栋楼的所有房间号,假设这栋楼有5层,每层楼有9个房间,我们要怎么去输出他们的房间号呢?
# for循环例子:
# 层数
for i in range(1,6):
    # 房间数
    for j in range(1,10):
        print(str(i)+"0"+str(j)+"号")

# while循环例子:
i = 1
# 层数
while i < 6:
    j = 1
    # 房间数
    while j < 10:
        print(str(i) + "0" + str(j) + "号")
        j += 1
    i += 1
    
# for循环和while交互嵌套
i = 1
while i < 6:
    for j in range(1, 10):
        print(str(i) + "0" + str(j) + "号")
    i += 1
  • 20
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JC03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值