# 1.运算符# 数学(+、-、*、/、%、//、**)、比较(>、<、>=、<=、==、!=)、逻辑(and、or、not)、赋值(=、+=、-=、*=、%=、//=、**=)# x % yprint(2349234%1000)# x // yprint(5//2)print(2349234//10)# x ** yprint(3**2)print(16**0.5)print(3**-2)
age =19print(18<= age <30)# 2.if分支"""
1)单分支 - 如果xxx就xxx(满足条件执行某个操作,这个条件不成立就不执行)
if 条件语句:
代码段
2)双分支 - 如果xxx就xxx否则xxx(满足条件执行某个操作,这个条件不满足的时候执行另外的操作)
if 条件语句:
代码段1
else:
代码段2
3)多分支 - 根据不同的条件执行不同的操作
结构1 - 多个条件之间满足:其中一个条件成立的情况下,另外的条件也可能成立
if 条件语句1:
代码段
if 条件语句2:
代码段
if 条件语句3:
代码段
...
结构2 - 多个条件之间满足:其中一个条件成立的情况下,另外的条件绝对不会成立
if 条件语句1:
代码段
elif 条件语句2:
代码段
elif 条件语句3:
代码段
...
else:
代码段
"""
age =28if age >=18:print('成年!')
num =34if num %2==0:print('xxx')# 注意:当条件语句不是标准的条件(结果不是布尔值的表达式),这个时候判断条件语句是否成立的原则:看条件语句对应的表达式的结果转换成布尔是否是True
num =34# if 0: -> if False:if num %2:print('aaa1')
num =35# if 1: -> if True:if num %2:print('aaa2')
str1 ='ac'if str1 !='':print('不是空串')
str1 ='ac'if str1:print('不是空串')
02-三目运算符
# 1. 分支结构的简写"""
if 条件语句: 代码段(只有一条语句的时候)
总结:冒号换行一个缩进后面的代码如果只有一条语句,那么唯一的这条语句可以直接放在冒号的后边
"""
age =19# 单分支结构的简写if age >=18:print('成年!')# 双分支结构简写if age >=18:print('成年')else:print('未成年')# 多分支结构简写if age <=3:print('幼儿')elif age <=12:print('儿童')elif age <18:print('青少年')else:print('成年!')# 2.三目运算符"""
1) C语言的三目运算符:
条件?值1:值2 - 判断条件语句是否为真,如果是整个运算表达式的结果是值1,否则是值2
age = 9
a = age>=18?"成年":"未成年"
2) Python三目运算符:
值1 if 条件 else 值2 - 判断条件语句是否为真,如果是整个运算表达式的结果是值1,否则是值2
"""print('------------------------------------------华丽的分割线------------------------------------------------')
age =9
result ='成年'if age >=18else'未成年'print(result)
03-for循环
# 1.循环结构 - 让代码重复执行(代码只写一遍,重复执行多次)# 工具:for、while# print('hello!')# print('hello!')# print('hello!')# print('hello!')# print('hello!')# for _ in range(5):# print('hello!')# 2.for循环"""
1)语法:
for 变量 in 序列:
循环体
2)说明
for、in - 关键字;固定写法
变量 - 合法的变量名
序列 - 容器型数据类型对应的数据,例如:字符串、列表、字典、元组、集合、迭代器、生成器、range等
: - 固定写法
循环体 - 结构上,和for保持一个缩进的一条或者多条语句(至少一条);
逻辑上,需要重复执行的代码
3)执行过程:
让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。(for循环循环次数由序列中元素的个数决定)
"""for x in'abcpo':print(x,'你好!')"""
第1次:
x = 'a': print(x, '你好!') -> print('a', '你好!')
第2次:
x = 'b': print(x, '你好!') -> print('b', '你好!')
第3次:
x = 'c': print(x, '你好!') -> print('c', '你好!')
第4次:
x = 'p': print(x, '你好!') -> print('p', '你好!')
第5次:
x = 'o': print(x, '你好!') -> print('o', '你好!')
第6次:(循环结束)
a 你好!
b 你好!
c 你好!
p 你好!
o 你好!
"""print('------------------------------------------华丽的分割线------------------------------------------------')
nums =[10,89,45,23]for x in nums:print(x *10)"""
100
890
450
230
"""# 3.range函数 - 创建一个等差数列# 1 2 3 4 5 6 - 差1# 3 6 9 12 - 差3# 50 40 30 20 - 差-10"""
1)range(N) - 产生[0,N)的等差数列,差是1; range(5) -> 0,1,2,3,4
2)range(M,N) - 产生[M,N)的等差数列,差是1; range(5, 15) -> 5,6,7,8,9,10,11,12,13,14
range(-3, 3) -> -3,-2,-1,0,1,2
3) range(M,N,step) - 产生[M,N)的等差数列,差是step;range(3,13,3) -> 3,6,9,12
range(50,19,-10) -> 50,40,30,20
"""print('------------------------------------------华丽的分割线------------------------------------------------')for x inrange(5):print(x)print('------------------------------------------华丽的分割线------------------------------------------------')for x inrange(5,15):print(x)print('------------------------------------------华丽的分割线------------------------------------------------')for x inrange(50,19,-10):print(x)# 问题:打印'hello world!'100次?# for x in range(100):# print('hello world!')
04-求和和统计个数的套路
# 1. 累积求和"""
求和套路:
第一步:在循环外面定义个变量来保存最后的和(变量默认值是0)
第二步:通过循环依次获取所有需要求和的对象
第三步:在循环体中获取到一个求和对象,就往保存和的变量中加一个数据(+=)
最后:循环结束的时候保存和的变量中的数据就是最后的和
"""# 案例:求1+2+3+4+...+100的和
sum1 =0for x inrange(1,101):# sum1 = sum1 + x
sum1 += x
print(sum1)# 案例:求100到200中所有偶数的和(包含100和200)# 100+102+104+106+...+200# 方法1:
sum1 =0for x inrange(100,201,2):
sum1 += x
print(sum1)# 方法2:
sum1 =0for x inrange(100,201):if x %2==0:
sum1 += x
print(sum1)# 练习:求100以内所有能被3整除但是不能被5整除的数的和# 方法1:
sum1 =0for x inrange(100):if x %3==0and x %5!=0:
sum1 += x
print(sum1)# 方法2:# 0,3,6,9,12,15,...,99
sum1 =0for x inrange(0,100,3):if x %5!=0:
sum1 += x
print(sum1)# 案例:求scores中所有分数
scores =[89,56,78,99,70]
sum1 =0for x in scores:
sum1 += x
print(sum1)# 2.统计个数# 案例1:统计scores中不及格的人数
scores =[89,56,78,99,70,48,79,30]
count =0for x in scores:if x <60:
count +=1print(count)# 练习:统计100 ~ 200中能被7整除的偶数的个数# 方法1:
count =0for x inrange(100,201,2):if x %7==0:
count +=1print(count)# 方法2:
count =0for x inrange(105,201,7):if x %2==0:
count +=1print(count)
05-while循环
# 1. while循环"""
1)语法:
while 条件语句:
循环体
2)执行过程:
不断判断条件语句是否为True,为True就执行循环体。直到条件语句的结果是False,整个循环直接结束!
(先条件语句是否为True,为True执行循环体,执行完循环体再判断条件语句是否True,为True再执行循环体,....以此类推,直到条件语句为False,整个循环结束)
"""
x =0while x <10:print('hello world!')
x +=1# 案例:求1+2+3+4+...+100的和
sum1 =0
num =1while num <101:
sum1 += num
num +=1print(sum1)# 练习:统计100 ~ 200中能被7整除的偶数的个数
count =0
num =100while num <=200:if num %7==0:
count +=1
num +=2print(count)# 2.for循环和while循环的选择"""
基本原则:能用for循环解决的问题都使用for循环,for循环解决不了的才使用while循环。
for解决不了的问题:循环次数不确定(程序员在写代码的时候无法确定循环次数 - 次数由使用者决定)
"""# 案例:提示用户输入密码,直到输入正确为止"""
请输入密码:123
请输入密码:abc
请输入密码:123abc
...
请输入密码:123456
(结束)
"""
pw ='123456'
value =Nonewhile value != pw:
value =input('请输入密码:')
06-continue 和break
# 注意:continue和break是关键字,只能在循环体中使用# 1. continue - 结束一次循环# 执行循环体的时候如果遇到了continue那么这次循环结束,直接进入下一次循环for x inrange(5):print('======')continueprint('------')print('++++++')print('------------------------------------------华丽的分割线------------------------------------------------')for x inrange(10):if x %2==0:continueprint(x)"""
x取值:0、1、2、3、4、5、6、7、8、9
x = 0: if 0 % 2 == 0 -> if True: continue
x = 1: if 1 % 2 == 0 -> if False -> print(x)
x = 2:
1
"""# 2. break - 结束整个循环# 执行循环体的时候如果遇到break,整个循环直接结束print('------------------------------------------华丽的分割线------------------------------------------------')for x inrange(5):print('======')breakprint('------')print('++++++')print('------------------------------------------华丽的分割线------------------------------------------------')for x inrange(10):if x ==3:breakprint(x)# 3.当while遇上break"""
while循环使用的固定结构:
while True:
需要重置执行的操作
if 循环结束条件:
break
"""# pw = '123456'# while True:# value = input('请输入密码:')# if value == pw:# break# 练习: 猜数字游戏。"""
系统随机产生一个0~100的整数,然后提示用户输入数字,直到输入正确为止。当输入错误的时候给出相应的提示。
假设随机数是:48
请输入一个整数(0~100):50
大了,再小点儿!
请输入一个整数(0~100):25
小了,再大点儿!
请输入一个整数(0~100):30
小了,再大点儿!
...
请输入一个整数(0~100):48
恭喜你,猜对了!
(结束)
"""from random import randint
value = randint(0,100)# 创建一个0到100的随机整数,并且保存在value中whileTrue:
data =int(input('请输入一个整数(0~100):'))if data > value:print('大了,再小点儿')elif data < value:print('小了,再大点儿')else:print('恭喜你,猜对了!')break
07-循环的else
# 1.完整的循环结构"""
1)完整的for循环
for 变量 in 序列:
循环体
else:
代码段
2)完整的while循环:
while 条件语句:
循环体
else:
代码段
else的作用:
1. else的存在不会影响原来循环的执行
2. 如果前面的循环是自然死亡的在循环结束后会执行else中的代码段,如果循环是因为遇到break而结束,else中的代码段不会执行
"""for x inrange(5):print('=======')else:print('!!!!')print('------------------------------------------华丽的分割线------------------------------------------------')
sum1 =0for x inrange(10):
sum1 += x
if x ==5:breakprint(x)else:print('!!!!')print(sum1)