python学习Day08

Day 08

今日内容概要

  • 逻辑运算符知识补充
  • 循环结构—while循环
  • 死循环与全局标志位

今日内容详细

1.逻辑运算符知识补充
#连接的条件如果不是具体的值,则会自动转换成布尔值(False/True)

#写代码时,布尔值或者数字并不影响代码的正常运行
  eg: 
        if True:
            print('123')
        if 1:
            print('456')
          #结果是'123'和'456'都打印出来
1)and
       print(1==2 and 3)
        如果and前判断的结果是False,后面就不用看了#结果是False
       print(1==1 and 3)
        如果and前判断后返回的结果是True,后面是明确的数据值,则结果就返回该数据值#结果是3
       print(1==1 and 3==1)
        如果and前判断后返回的结果是True,后面也是判断后的值,则返回布尔值(True/False)#结果是False

2)orand同理
    print(1==1 or 1)#True
    print(1 or 1==1)#1
    print(1>2 or 1)#1
    print(1>2 or 1==1)#True
    print(1>2 or 1>4)#False
   #and两边只要只要有一个不成立,结果就不成立
   #or两边只要有一个成立,结果就成立
3)not
    print(not 1)#False
    print(not 1==1)#False
    print(not 1>5)#True
   #not返回的结果肯定是布尔值
    
2.循环结构—while循环

​ 循环结构有:
​ while循环
​ for循环

while
1)while循环语法结构
     while 条件:
        条件成立后执行的子代码(需要循环的代码)
   1.先判断while后的条件是否成立,成立则执行下面的子代码
   2.子代码运行完会再回到while后的条件判断出,判断是否成立
   3.如果判断条件成立将一直循环
   4.while后的判断条件不成立时,结束循环

结束循环的两种方式:

1.固定次数结束循环:(计数器)
  自己写结束条件,利用while后面的条件判断来结束循环
       eg:
        count = 1 #定义一个计数器
        while count < 4
        print(123)
        count += 1 #让计数器自己每次加1
        #结果就是执行了3次
        print(count)#结果为4 因为count +=1是计算后才去往上循环

image

2. 在循环体内部添加'关键词'强制结束:
 一.while+break
    #结束本层循环
   1)单while循环
     while True:
        name = input('name:')
        if name =='张三':
             print('名字正确')
             break  # 添加强制结束关键词,结束本层循环
        else:
             print('名字错误')

        
     #循环打印1~10,到7结束
         count = 1  #定义一个计数器
         while count < 11:#定义当计数器小于11时执行循环
              if count == 7:#添加一个条件如果计数器=7
                 break      #结束循环
    	      print(count) #打印计数器的数值
    	      count += 1   #计数器每次+1
        2)循环套循环
            while True:
                print('外循环')
                while True:
                    print('内循环')
                    break #结束内循环
                break #结束外循环
          *如果在没添加判断条件时只结束内循环不结束外循环,结果就是从内循环结束后执行外循环,再从外循环运行到内循环,内循环结束后继续执行外循环一直重复
 二.while+continue
    #结束本次循环,回到循环的条件判断处重新开始循环
    eg: 循环打印110,到7跳过
	count = 1
	while count < 11:
	    if count == 7:  # 如果count等于7执行下面操作
 	       count += 1  # 让count自增1(不然会陷入死循环:	count=7 回到判断处 count=7..)
    	    continue  # 跳过本次循环 直接开始下一次循环
  	  print(count)
  	  count += 1
     eg:
	while True:
	  print(123)
	    while True:
	      print(321)
	      continue #结束本次循环跳到上一个条件继续执行
	    continue # 永远不会到这一步,因为上一个continue在一直循环
 三.while+else
    当循环体用关键词强制结束就不会执行else后的代码。
    eg:
		count = 1
		while count < 11:
		    print(count)
		    if count == 7:
		        break
		    count += 1
		else:
		    print('循环体按照提前定义好的条件正常结束 则会执行')

3.死循环与全局标志位
1.死循环
count = 10
while True:
    count *= 10  # 计算死循环 不允许出现 有问题
  
while True:
    name = input('name>>>:')  # 有等待时间 允许出现 没有问题
    
2.全局标志位(可以不用)
flag = True
while flag:
    print(123)
    while flag:
        print(321)
        while flag:
            print(222)
            flag = False
作业:
1.准确说出下列判断的结果(不要执行代码)
	 v1 = 1 or 3
    v2 = 1 and 3
    v3 = 0 and 2 and 1
    v4 = 0 and 2 or 1
    v5 = 0 and 2 or 1 or 4
    v6 = 0 or False and 1
    
2.编写一个用户登录程序
	用户如果登录失败 则只能尝试三次
	用户如果登录成功 则直接结束程序
    
3.编写一个用户登录程序
	用户如果登录失败 可以无限制尝试
	用户如果登录成功 则进入内层循环 获取用户输入的指令 并打印该指令
    	eg: 用户输入cmd指令 则程序打印'正在执行您的指令:cmd'
	给用户提供一个退出命令 用户一旦输入则退出这个程序
    	eg: 用户输入q指令 则程序先打印该指令再结束
   
4.编写猜年龄的游戏(拔高练习 尝试编写)
	用户有三次猜测的机会 如果用完则提示用户是否继续尝试
	用户输入y则继续给三次机会 如果用户输入q则直接结束程序
 
5.整理今日内容及博客

———————————————————————————————————————————————————————————————————————————————————————
作业
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
image

2.编写一个用户登录程序
用户如果登录失败 则只能尝试三次
用户如果登录成功 则直接结束程序
image

3.编写一个用户登录程序
用户如果登录失败 可以无限制尝试
用户如果登录成功 则进入内层循环 获取用户输入的指令 并打印该指令
eg: 用户输入cmd指令 则程序打印'正在执行您的指令:cmd'
给用户提供一个退出命令 用户一旦输入则退出这个程序
eg: 用户输入q指令 则程序先打印该指令再结束
image

4.编写猜年龄的游戏(拔高练习 尝试编写)
用户有三次猜测的机会 如果用完则提示用户是否继续尝试
用户输入y则继续给三次机会 如果用户输入q则直接结束程序
image

posted @   逢诱  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示