and 一假则假,全真则真 or 一真全真,全假则假 not 与原本意思相反
and # 当使用and逻辑运算符时,左边两边都是需要计算机计算(算术运算)时,输出的结果对应的是布尔值 print(1 == 2 and 10 > 7) # False print(5 < 2 and 1 != 3) # False print(False and 1 == 1) # False print(True and 3 >= 2) # True # 当使用and逻辑运算符时,左右边两边有算术运算和数值时,输出的结果得判断 # 若两边判断的结果都成立若数值在后则输出相应的数值,若数值在前输入所对应运算的布尔值 # 若两边判断的结果是成立的但是数值是0则输出的结果是0,不为0则输出对应运算的布尔值 print(1 != 2 and 5) # 5 print(5 and 1 == 1) # True print(3 > 1 and 0) # 0 print(0 and 1 == 1) # 0 # 若两边只要有一个结果是不成立时输出的布尔值是False print(5 and 1 == 5) # False print(1 == 2 and 5) # False print(3 < 1 and 0) # False or # 从左往右判断,左右两边存在算术运算和数值时 # 若首先判断的是算术运算时若条件成立则输出True,若条件不成立则输出后面的数值 # 若首先判断的是数值不为0的情况下则打印输出的是数值,若首先判断的是数值为0的情况下看后面判断的条件是否成立,若成立打印输出True否则打印输出False print(1 != 2 or 0) # True print(5 or 1 == 1) # 5 print(5 or 1 == 2) # 5 print(3 > 1 or 0) # True print(0 or 1 == 1) # True print(0 or 1 == 2) # False print(1 == 2 or 6) # 6 print(False or 7) # 7 print(True or 7) # True # 左边两边都是数值的情况 # and:输出后面的数据值 print(111 and 22) # 22 print(33 and 222) # 222 # or:若第一个数据值不为0则打印输出该数据值,若第一个数据值为0则打印输出的是后面的不为0的数据值 print(111 or 22) # 111 print(0 or 22) # 33
while 条件: 条件成立后循环执行的子代码 1.while后面的条件一旦成立,子代码便可执行 2.子代码执行后再回到while的条件处进行判断,若条件成立再次执行子代码回到while的条件处判断 3.直到while后的条件不满足时,结束 # 定义用户的用户名和密码,输入用户名和密码实现登录,若登录成功打印登录成功,若登录失败打印用户名和密码错误,且登录可以不断的尝试 name = '橘子' # 定于用户的用户名 pwd = '313' # 定义用户的密码 while True: # 条件一直为True表明条件一直成立 user_name = input('user_name: ') # 输入用户名 user_pwd = input('user_pwd:') # 输入用户名密码 if name == user_name and pwd == user_pwd: # 判断用户的用户名和密码 print('登录成功!') # 条件成功打印登录成功 else: print('登录失败!') # 条件失败打印登录失败
结束循环体,写完结束条件添加关键字强制结束while循环(当前循环体)。先判断while后的条件,然后再循环体中添加关键字结束循环。
name = '橘子' # 定于用户的用户名 pwd = '313' # 定义用户的密码 while True: # 先判断while后面的条件是否成立 user_name = input('user_name: ') # 输入用户名 user_pwd = input('user_pwd:') # 输入用户名密码 if name == user_name and pwd == user_pwd: # 判断用户名和密码是否正确 print('登录成功') break # 强制结束,直接结束break所在的循环体 (结束本层循环) else: print('用户名或密码错误')
结束本次循环,开始下一次循环,值结束所在当前循环体。
# 循环打印1到10(按规矩办事) 但是到了7就跳过 count = 1 # 定义count while count < 11: # 先判断while后面的条件是否成立 if count == 7: # 判断if条件是否成立 count += 1 # 让count自增1 continue # 跳过本次循环 直接开始下一次循环 print(count) count += 1
与while循环用法几乎一致,增加了当while条件不成立时执行的条件。
count = 1 while count < 11: print(count) if count == 7: break # 结束while循环 count += 1 else: # while循环结束执行 print('循环体按照提前定义好的条件正常结束 则会执行')
1.死循环 count = 2 while True: count += 10 # 计算一直循环,不允许出现,有问题 print(count) while True: name = input('name>>>:') # 有等待时间,允许出现,没有问题 print(name) 2.全局标志位(可不用) flag = True # 定义全局标志位为true while flag: # 当条件成立执行 print(111) while flag: # 当条件成立执行 print(222) flag = False # 相当于条件不成立,结束当前本层while循环
1.准确说出下列判断的结果(不要执行代码) v1 = 1 or 3 # 1 v2 = 1 and 3 # 3 v3 = 0 and 2 and 1 # 0 v4 = 0 and 2 or 1 # 1 v5 = 0 and 2 or 1 or 4 # 1 v6 = 0 or False and 1 # False
2.编写一个用户登录程序 用户如果登录失败 则只能尝试三次 用户如果登录成功 则直接结束程序 count = 1 # 定义开始次数为1 user_name = 'orange' # 定义用户名 user_pwd = '123' # 定义用户密码 while count < 4: # 用户输入密码的次数只有3次 count += 1 # 条件成立次数加1 name = input('Please your name: ') # 输入用户名 pwd = input('Please your pwd: ') # 输入密码 if name == user_name and pwd == user_pwd: # 判断用户名和密码是否正确 print('登录成功!') # 正确打印登录成功 break # 登录成功后强制结束循环 else: print('用户名或密码错误!') # 如果用户名或密码错误打印提示
3.编写一个用户登录程序 用户如果登录失败 可以无限制尝试 用户如果登录成功 则进入内层循环 获取用户输入的指令 并打印该指令 eg: 用户输入cmd指令 则程序打印'正在执行您的指令:cmd' 给用户提供一个退出命令 用户一旦输入则退出这个程序 eg: 用户输入q指令 则程序先打印该指令再结束 user_name = 'orange' # 定义用户名 user_pwd = '123' # 定义用户密码 q = ['q'] while True: # 可一直循环 name = input('Please your name: ') # 输入用户名 pwd = input('Please your pwd: ') # 输入密码 if name == user_name and pwd == user_pwd: # 判断用户名和密码是否正确 while True: input1 = input('请输入指令: ') if input1 not in q: print('正在执行您的指令:' + input1) elif input1 in q: print(input1) break # 退出当前输入指令的循环 break # 退出当前输入用户名的循环
4.编写猜年龄的游戏(拔高练习 尝试编写) 用户有三次猜测的机会 如果用完则提示用户是否继续尝试 用户输入y则继续给三次机会 如果用户输入q则直接结束程序 age = '22' count = 1 Y = 'y' Q = 'q' while count < 4: info = input('输入你认为的年龄:') count += 1 if info == age: print('猜对了!') break else: print('猜错了!') if count == 4: input1 = input('是否继续尝试?(y/q)') if input1 == Y: count = 1 elif input1 == Q: break