一.input()函数
1. 交互
present=input("大圣需要什么礼物?")
print (present,type(present))
2. 加法
a=input('请输入一个加数:')
b=input('请输入另一个加数:')
print(int(a)+int(b))
二.运算符
1.算术运算符
①标准运算符
加减乘除(1/2=0.5)
整除(11//2=5):两正两负结果为正,一正一负向下取整(9//-4=-3)
②取余运算符%
余数=被除数-除数*整除结果
③幂运算符**
3**2表示3的2次方
2.赋值运算符
①运算顺序从右到左
②链式赋值
a=b=c=2
③参数赋值
+=、-=、*=、/=、//=、%=
④系列解包赋值
#交换a、b的值
a,b,c=20,30,40
a,b=b,a
print(a,b)
3.比较运算符
①>、<、>=、<=
②比较对象的值:==、!=
③比较对象的标识:is、is not
a=10
b=10
print(a==b)
print(a is b)#True
list1=[11,22,33,44]
list2=[11,22,33,44]
print(list1 is list2) #False
print(list1 is not list2) #True
4.布尔运算符
①and、or、not
②in、not in
s='pretty'
print('e' in s) #True
5.位运算符
&、|、<<(高位溢出,低位补零)、>>(高位补零,低位截断)
6.优先级
() > 算术(幂>乘除取余》加减)> 位(移位>按位与>按位或)> 比较 > 布尔(与>或)> 赋值
三.程序的组织结构
1.顺序结构
从上到下
2.对象的布尔值
①获取对象的布尔值,使用函数bool()
②布尔值为false的情况
false、数值0、None、空字符串、空列表、空元组、空字典、空集合
#测试bool值为0的情况
print(bool(0.0))
print(bool([]))#空列表
print(bool(()))#空元组
print(bool(tuple()))#空元组
print(bool({}))#空字典
print(bool(dict()))#空字典
print(bool(set()))#空集合
3.分支结构
①单分支结构
if 条件:
条件执行体1
money=2000
s=int(input('请输入取款金额:'))
if money>=s:
money-=s
print('取款成功,余额为:',money)
②双分支结构
if 条件:
条件执行体1
else:
条件执行体2
#判断奇偶数
num=int(input('请输入一个整数:'))
if num%2==0:
print(num,'是偶数')
else:
print(num,'是奇数')
条件表达式
#比较两个数大小
num_a=int(input('请输入第一个整数:'))
num_b=int(input('请输入第二个整数:'))
#①
if num_a>num_b:
print(num_a,'大于等于',num_b)
else:
print(num_a, '小于', num_b)
#②条件表达式
print(str(num_a)+'大于等于'+str(num_b) if num_a>num_b else str(num_a)+'小于'+str(num_b))
③多分支结构
if 条件1:
条件执行体1
elif 条件2:
条件执行体2
...
elif 条件n:
条件执行体n
else:
条件执行体n+1
#判断成绩范围
score=int(input("请输入一个成绩:"))
if score>=90 and score<=100: #core>=90 and score<=100等价于90<=score<=100
print('A')
elif score >= 80 and score <= 90:
print('B')
elif score >= 70 and score < 80:
print('C')
elif score >= 60 and score < 70:
print('D')
elif score >= 0 and score < 60:
print('E')
else:
print('成绩有误')
④嵌套if
if 条件:
if 内层条件:
内层条件执行体1
else:
内层条件执行体2
else:
条件执行体
answer=input('您是会员吗?y/n:')
money=float(input('请输入您的购物金额:'))
if(answer=='y'):
if money>=200:
print('打八折,付款金额为:',money*0.8)
elif money>=100:
print('打九折,付款金额为:',money*0.9)
else:
print('不打折,付款金额为:',money)
else:
if money>=200:
print('打九点五折,付款金额为:',money*0.95)
else:
print('不打折,付款金额为:',money)
⑤pass语句
占位
4.循环结构
①range()函数
r=range(10)
print(r)#结果为:range(0, 10)
print(list(r))#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
r=range(1,10)#(开始,结束)
print(list(r))
r=range(1,10,2)#(开始,结束,步长)
print(list(r))
#判断元素是否在序列中
print(10 in r)
print(10 not in r)
②while循环
判断N+1次,条件为True执行N次
执行步骤:初始化变量->条件判断->条件执行体(循环体)->改变变量
while 条件:
循环体
#计算1-100间的偶数和
b=1
sum=0
while b<=100:
if b%2==0: #if not bool(a%2)
sum+=b
b+=1
print(sum)
③for-in循环
#for-in循环
for item in 'Python':
print(item)
#range()函数产生一个整数序列,作为可迭代对象
for i in range(10):
print(i)
#不需要用到自变量,将其定义为_
for _ in range(4):
print('人生')
#计算1-100间的偶数和
sum=0
for item in range(1,101):
if(item%2==0):
sum+=item
print(sum)
#计算100-999之间的水仙花数:个十百位的立方加起来等于这个数
for item1 in range(100,1000):
ge=item1%10
shi=item1//10%10
bai=item1//100
if(ge**3+shi**3+bai**3==item1):
print(item1)
④嵌套循环
#输出一个三行四列的矩阵
for i in range(1,4):
for j in range(1,5):
print('*',end='\t')#不换行输出
print()#打行
#输出九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(i,'*',j,'=',i*j,end='\t')
print()
5.break
结束循环,与if搭配使用
#break 三次机会输入密码 ①
for item in range(3):
psw=input('请输入密码:')
if psw=='8888':
print('密码正确')
break
else:
print('密码不正确')
#②
a=0
while a<3:
psw = input('请输入密码:')
if psw == '8888':
print('密码正确')
break
else:
print('密码不正确')
a+=1
6.continue
结束当前循环,进行下一次循环,与if搭配使用
#continue 1-50之间5的倍数 ①
for item in range(1,51):
if(item%5==0):
print(item)
#②
for item in range(1,51):
if item%5!=0:
continue
print(item)
7.else
与if、for-in、while搭配使用
#三次机会输入密码 ①for-else
for item in range(3):
psw=input('请输入密码:')
if psw=='8888':
print('密码正确')
break
else:
print('密码不正确')
else:
print('对不起,三次密码均输入错误')
a=0
while a<3:
psw = input('请输入密码:')
if psw == '8888':
print('密码正确')
break
else:
print('密码不正确')
a+=1
else:
print('对不起,三次密码均输入错误')
8.二重循环中的break和continue
控制本层循环
#二层循环中的break和continue
for i in range(5):
for j in range(1,11):
if j%2==0:
break
print(j)
for i in range(5):
for j in range(1,11):
if j%2==0:
continue
print(j,end='\t')
print()