Python基础:运算与流程控制循环
python运算与流程控制循环
布尔值(bool)
“””
True :非0的数字,非空的字符串、列表、元组、字典
False : 0 ‘’() [] {} None
"""
num = 10
print(bool(num)) True
strs = 'aa'
print(bool(strs)) True
lst = [2, 3, 4] 列表
print(bool(lst)) True
dic = {'name': '彦成'} 字典
print(bool(dic)) True
tup = (1, 3, 4,) 元组
print(bool(tup)) True
print('-' * 20) 字符串可以和数字相乘,表示连续拼接
num1 = 0
print(bool(num1)) F
str2 = "" 空格也是字符串
print(bool(str2)) False
lst2 = [] 空列表
print(bool(lst2)) False
dic2 = {}
print(bool(dic2)) False
person = None
print(bool(person)) False
逻辑运算符:
True :非0的数字,非空的字符串、列表、元组、字典
False : 0 ‘’() [] {} None
None不能理解为0;0是有意义的,None是一个特殊的空值
布尔值可以用and;or;not;来运算
and运算是与运算,所有条件都符合才为true
or运算是或运算,只要其中有一个为True
not true=false
三种逻辑运算符优先级:not>and>or
算术运算符:
运算符 描述 实例 a=10,b=20
加 两个对象相加 a + b 输出结果 30
减 得到负数或是一个数减去另一个数 a - b 输出结果 -10
乘 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ 除 x除以y b / a 输出结果 2
// 取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
% 取余 返回除法的余数 b % a 输出结果 0
** 幂 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000“””
算术运算符 + - * / // % ** 幂“””
a = 10
b = 20c = a + b
print©c1 = a - b
print(c1)c2 = a * b
print(c2)c3 = b / a
print(c3) # 2.0print(9 / 4) # 2.25
print(9 // 4) # 2 取整数部分
print(9 // 4.0) # 2.0
print(9 % 4) # 取余数
print(2 ** 3) # 8#判断一个数是否是偶数
print(4 % 2) # 余数是0 的表示偶数,是1 表示奇数
复合赋值运算(自增运算)
运算符 描述 实例
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c = a 等效于 c = c \ a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c **“””
复合赋值运算符
+=、=、-=、/= 、//=、 \*= 、%=
"""
# +=
a = 2
b = 3
# a += b # a+=b --> a=a+b
# a -= b # a=a-b
a *=b # a=a*b
print(a)
a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
比较运算符
"""
比较运算符 ==、!= 、 < 、> 、<= 、>=
"""
print(10 == 10) # True
print(10 != 32) # True
print(10 < 2) # False
print(10 > 43) # False
print(10 <= 10) # True
print(10 >= 10) # True
逻辑运算符:
True :非0的数字,非空的字符串、列表、元组、字典
False : 0 ‘’() [] {} None
None不能理解为0;0是有意义的,None是一个特殊的空值
布尔值可以用and;or;not;来运算
and运算是与运算,所有条件都符合才为true
or运算是或运算,只要其中有一个为True
not true=false
三种逻辑运算符优先级:not>and>or
“””
and or not
and : 与的关系 一假 则 假
or : 或的关系 一真 则真
not : 非 取反 not True —>False
优先级: not > and > or
"""
b = 10 > 4 # True
b1 = 10 > 2 # True
b2 = 2 > 3 # False
b3 = 10 < 5 # False
print(b and b1 and b2) # False
print(b or b1 or b2) # True
print(b1 or b2 or b3) # True
print(b2 or b3) # False
print(b) # True
print(not b) # 取反 False
a = 10
b = 'aa'
print(a and b) # 返回 b 的值
print(a or b) # 返回 a的值
print(not a) # 返回False
# 优先级为是not>and>or。
print(True and False or not False and False)
# 从左往右: false or True and False -->False
# and优先级: False or not false--> True
# True and False or True and False
# --> False or False -->False
print(True and True or not False and False)
# and优先级: True or not False --> True
# 从左往右: True or True and False --> False
# True and True or True and False-->True or False ->True
or的使用:
#去办理个人贷款买房手续,只需要你或者你媳妇代理
you = input("你本人去吗(去或者不去)?")
your_wife = input("媳妇去吗(去或者不去)?")
if you == "去" or your_wife == "去":
print("恭喜,至少一个人办理就行了!")
else:
print("必须有一个人来办理贷款业务!")
and 的使用:
#去办理贷款买房手续,需要你且你媳妇一同来办理
you = input("你本人去吗(去或者不去)?")
your_wife = input("媳妇去吗(去或者不去)?")
if you == "去" and your_wife == "去":
print("恭喜,两个人来了,把事情办成了!")
else:
print("必须有两个人来办理贷款业务!")
“””
格式:
if 判断语句 :
执行的代码1…
执行的代码2…
执行流程: 如果判断语句是True,执行if体中的
内容(执行的代码1…,执行的代码2…)if 体执行
完后,程序继续执行后面的内容,直到程序结束。
如果判断语句是false,则不执行if体中的代码,程序
继续往下执行,直到程序结束。
"""
# a = 10
# b = 2
# print('程序开始了....')
#
# if a < b:
# print('这是正确的...')
# print('欢迎新同学哈哈哈')
#
# print('程序结束了...')
需求:从控制台输入年龄,如果年龄小于18就不能来到英雄联盟
# age_str = input('请输入年龄:')
# age = int(age_str) # 注意类型转换
# if age <= 18:
# print('不能玩游戏...')
#
# print('程序结束了...')
“””
not 的使用:
12~17岁 青春期
18~24岁 青年期
25~44岁 壮年期
#青年时期17~24年龄
age = 30
#不是青年时期
if not (age >= 17 and age <= 24):
print("不是青年时期!<17或者大于24")
"""
age_str = input("请输入您老的年龄:")
age = int(age_str)
#
# if age >= 18 and age <= 24:
# print('恭喜你,来到了青年期')
# not 18~24 18< >24
if not (age >= 18 and age <= 24):
print('一边去,反正不是青年期')
print(‘程序结束了’)
python流程控制介绍
顺序结构:从上到下
分支结构: if/elif/else
循环结构: for/while
# 女朋友过节
jr = input("请输入节日名称:")
if jr == '生日':
print('买花,买蛋糕...')
elif jr == '情人节':
print('买德芙...')
elif jr == '圣诞节':
print('苹果10x')
else:
print('发红包..')
print('程序结束了...')
if嵌套
# 上火车安检的例子
ticket = '有'
daozi_length = 50
if ticket == '有':
print('火车票通过了...')
if daozi_length <= 16:
print('可以上火车了..')
else:
print('没收,送公安局蹲两天')
else:
print('没票就不能上火车啦')
综合案例:
import random
产生一个int类型的随机数
randint保护开头和结尾
num = random.randint(1, 3)
print(num)
人机猜拳:
“””
猜拳游戏:
思路:
1.玩家从控制台输入内容,石头剪刀 布
2.电脑输出 石头剪刀布
3.判断
(1).玩家赢
(2).电脑赢了
(3).平局
"""
# 第一步
player_str = input("请输入你要出的拳头 石头/1, 剪刀/2,布/3 :")
player = int(player_str) # 类型转换
# 第二步
import random 导入模块
产生一个int类型的随机变量 rand保护开头和结尾
computer = random.randint(1,3) 电脑从1、2、3中随机选取一个数
# 第三步
'''
玩家 电脑
石头 剪刀
剪刀 布
布 石头
'''
if (player == 1 and computer == 2) or \
(player == 2 and computer == 3) or \
(player == 3 and computer == 1):
print('电脑弱爆了...')
elif player == computer:
print('决战到天亮...')
else:
print('人类弱爆了')
练习1 打印小星星
“””
*
**
“””
# num = 1
# while num <= 5:
# print('*' * num)
# num += 1 # num = num + 1
练习2 : 计算1到100之间的和
a=1
# b=0
# while a<=100:
# b+=a
# print(a,b)
# a+=1
练习3: 计算1到100之间偶数的和
a=1
b=0
while a<=100:
if a%2==0
b+=a
print(a,b)
a+=1
练习4 从控制台入五个值,求和,求平均值
a_str=input('请输入第一个值:')
a=int(a_str)
b_str=input('请输入第二个值:')
b=int(b_str)
c_str=input('请输入第三个值:')
c=int(c_str)
d_str=input('请输入第四个值:')
d=int(d_str)
e_str=input('请输入第五个值:')
e=int(e_str)
total=a+b+c+d+e
print(total)
f=total/5
print(f)
练习5 数字逆序输出,从控制台输入三位数,例如123逆序输出321
a4=input('请输入一个三位数')
a4=int(a4)
gewei=a4%10
baiwei=a4//100
shiwei=((a4-gewei)%100)/10
a4=gewei*100+shiwei*10+baiwei
print(a4)`
还没有评论,来说两句吧...