1.判断 if 条件表达式:
<1>.条件表达式为布尔值,如 == ,is ,>,
省略的写法,变量存在,执行if 后面的代码:
if a:
xxxxxxxx
当a 为true时执行if 后面的代码,为false不会执行
# a=0, a=0.0, a=[], a=(), a={}, a=None, a='', a=空对象 , 都为false,if 后面的代码都不会执行
# if ...elif...elif....else 如果if或elif满足条件了,执行if或者elif的代码,后面的elif条件不会判断
# if ...if....else 每个if 分支都会进行判断,都不满足条件,才执行else代码,性能不如 if ...elif...elif
# 判断闰年
# 练习3:根据用户输入的年份判断是否是闰年(判断闰年的方法是该年能被4整除并且不能被100整除,或者是可以被400整除)
# year = 2000
# if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
# print(f'{year}是闰年')
# else:
# print(f'{year}是平年')
# 输入一行字符,分别统计其中英文字母,空格,数字和其它字符的个数
# shuzu = zimu = kongge = qita = 0
# source = input('请输入一段字符')
# for i in source:
# if i.isdigit():
# shuzu = shuzu + 1
# elif i.isspace():
# kongge = kongge + 1
# elif i.isalpha():
# zimu = zimu + 1
# else:
# qita = qita + 1
# print(shuzu)
# print(zimu)
# print(kongge)
# print(qita)
2. 循环 while 循环:
while 条件表达式(布尔值):
内容
break
a= 2
while a <=100:
print(a)
a=a+2
flag = True
while flag:
a = input("请输入一个数字")
if a.isdigit():
print(a)
else:
flag = False
print('输入的不是数字')
3. 循环 for 循环:
1. for i in seq: 序列都可以做循环,for in 循环的是元素内容
<1>. for i in (1,2,3)
<2>. for i in [1,2,3]
<3>. for i in 'hello'
2. for i in range() 按照索引来循环遍历,range可以写范围,包含下边界,不包含上边界
3. for index,value in enumerate 元素和下标一起循环,返回的是二维元组,包含索引和下标
4. 循环中常用算法:循环累加,循环累乘
1-10 累加和阶乘
# sum1 = 0
# for i in range(1, 11):
# sum1 = sum1 + i
# print(sum1)
# sum2 = 1
# for j in range(1, 11):
# sum2 = sum2*j
# print(sum2)
# i = 0
# sum3 = 0
# while i <= 10:
# sum3 = sum3+i
# i = i + 1
# print(sum3)
# i2 = 1
# sum4 = 1
# while i2 <= 10:
# sum4 = sum4 * i2
# i2 = i2 + 1
# print(sum4)
5. for.....else..... for循环成功执行完毕,没有退出,就执行else里面的代码,如果for循环中发生了break,else不会被执行,主要用来判断for 循环是否完整执行完毕,没有退出
# 一行代码实现打印1-100之间的偶数
# print([i for i in range(2, 101, 2)])
# 一行代码实现打印1-100之间的偶数,倒序输出
# print([i for i in range(100, 0, -2)])
6.使用for 循环求出1000以内的水仙花数
# for i in range(100, 1000):
# bai = i // 100
# ge = i % 10
# shi = i % 100 // 10
# if bai ** 3 + ge ** 3 + shi ** 3 == i:
# print(i)