Python笔记-判断语句、循环语句

目录

一. 判断语句

(一)布尔类型和比较运算符

(二)if语句

1.if语句的基本格式

2. if else 语句

 3. if elif else语句

(三)判断语句的嵌套

二. 循环语句

(一)while循环

1.语法格式

 2.while循环的注意事项

3.案例

4.while循环的嵌套应用 

(二)for循环

1.语法格式

2.for循环注意事项

3.案例

4.range 语句

5.变量作用域

6.for循环的嵌套使用

7.循环中断:break and continue

8.综合案例


一. 判断语句

(一)布尔类型和比较运算符

(二)if语句

1.if语句的基本格式

 if 要判断的条件:

        条件成立时,要做的事情

 注意:

  • 判断条件的结果一定是布尔类型;
  • 不要忘记判断条件后的:冒号
  • 归属于if语句的代码块,需要在前方填充4个空格缩进

 练习:

print ("欢迎来到儿童游乐场,儿童免费,成人收费")
age=int(input("请输入你的年龄:"))
if age>18:
    print("您已成年,游玩需要补票10元")
print("祝您游玩愉快")

2. if else 语句

  • if和其代码块,条件满足时执行
  • else搭配if的判断条件,当if条件不满足时执行
  • else的代码块,同样要4个空格作为缩进
  • else后面也需要加冒号:

练习:

print ("欢迎来到动物园")
height=int(input("请输入你的身高(cm):"))
if height>120:
    print("您的身高超出120cm,游玩需要购票10元")
else:
    print("您的身高未超出120cm,可以免费游玩")
print("祝您游玩愉快")

 3. if elif else语句

  • 可以完成多个条件的判断
  • elif可以写多个
  • 判断是互斥且有序的,上一个满足后面就不会判断了
  • 可以在条件判断中,直接写input语句,节省daimaliang
  • elif判断是互斥且有顺序的,满足第一个elif就不会理会第二个,满足2就不会理会3,都不满足就进入else,else可以省略,效果等同于3个独立的if判断

 练习:

if int(input("请输入第一次猜想的数字:"))==10:
    print("恭喜你猜对啦")
elif int(input("不对,再猜一次:"))==10:
    print("恭喜你猜对啦")
elif int(input("不对,最后再猜一次:"))==10:
    print("恭喜你猜对啦")
else:
    print("sorry,全部猜错啦,我想的是10")

 

(三)判断语句的嵌套

1.嵌套语句可以用于多条件、多层次的逻辑判断

2.一定注意空格缩进,python通过空格缩进来决定层次关系

3.外层if满足条件时,才会执行内层if判断

案例:定义一个数字(1~10,随机产生),通过3次判断来猜出数字

案例要求:1)数字随机产生,范围1-10;

                  2)有三次机会猜数字,通过3层嵌套判断实现;

                  3)每次猜不中,会提示大了或小了

提示:通过如下代码,可以定义一个变量num,变量内存储随机数字

import random 

num=random.randint(1,10)

演示:

import random
num=random.randint(1,10)
number1=input("请输入你猜测的数字(只有三次机会哦):")
if int(number1)!=num:
    if int(number1)<num:
        print("小了")
    elif int(number1)>num:
        print("大了")
    number2=input("再猜一次:")
    if int(number2)!=num:
        if int(number2)<num:
            print("小了")
        elif int(number2)>num:
            print("大了")
        number3=input("最后一次机会啦,再猜一次:")
        if int(number3)!=num:
            if int(number3)<num:
                print("小了")
            elif int(number3)>num:
                print("大了")
            print("很遗憾,你三次都答错了")
        else:
            print("恭喜你答对了!")
    else:
        print("恭喜你第二次就答对啦")
else:
    print("恭喜你一次就猜对了!")

也可以if==num,else去判断大了小了,在else中嵌套


二. 循环语句

(一)while循环

1.语法格式

while 条件:

       条件满足时,做的事情1

       条件满足时,做的事情2

       条件满足时,做的事情3

       ...(省略)...

 2.while循环的注意事项

  • 条件需提供布尔类型结果,true继续,falset停止
  • 空格缩进不能忘
  • 请规划好循环终止条件,否则将无限循环

3.案例

案例1:求1-100的和

i=0
a=i
while i<100:
    i+=1
    a=a+i #也可以写成  a+=i
print(a)

案例2:猜数字

设置一个范围1-100的随机整数变量,通过while循环,配合input语句,判断输入的数字是否等于随机数

  • 无限次机会,直到猜中为止
  • 每一次猜不中,会提示大了或小了
  • 猜完数字后,提示猜了几次
  • 提示:无限次机会,终止条件不适合数字累加来判断,可以考虑布尔类型本身(True or False)

方法一:

import random
num=random.randint(1,100)
number=input("请输入您猜测的数字,在1到100之间:")
i=0
while int(number)!=num:
    if int(number)>num:
        print("大了")
    else:
        print("小了")
    i+=1
    number=input("再猜一次:")
i=i+1
print(f"恭喜您猜对啦!您一共猜了{i}次")

方法二:

import random
num=random.randint(1,100)
print(num)
count=0
flag=True
while flag:
    count+=1
    number=int(input("请输入您猜测的数字:"))
    if number==num:
        print(f"恭喜你,答对啦!您一共答了{count}次")
        flag=False
    else:
        if number<num:
            print("小了")
        else:
            print("大了")

--补充知识 print 输出不换行

默认自动换行

输出不换行:在print语句中,加上end=‘ ’

print("泥嚎,我叫",end='')
print("窝嚎")

 

 --补充知识:制表符 \t

  • \t效果等同于在键盘上按下 tab键
  • 作用:可以让对行字符串进行对齐
print("泥嚎呀 我叫窝嚎")
print("窝嚎 泥叫泥嚎")
print("泥嚎呀\t我叫窝嚎")
print("窝嚎\t泥叫泥嚎")
print("Hello\tworld")
print("Hi\tworld")


4.while循环的嵌套应用 

练习案例:打印九九乘法表

i=1
while i<=9:
    j=1
    while j<=i:
        print(f"{i}x{j}={i*j}\t",end='')
        j+=1
    i+=1
    print()


(二)for循环

1.语法格式

for 临时变量 in 待处理数据集(序列类型)

     循环满足条注意件时执行的代码

序列类型:其内容可以一个个依次取出的一种类型(字符串、列表、元组等) 

示例:

name='泥嚎'
for x in name:
    print(x)

 

2.for循环注意事项

  • 无法定义循环条件,只能被动取出数据处理
  • 循环内的语句,要有空格缩进 

3.案例

数一数有几个a:定义字符变量name,内容为:"cats are so cute",通过for循环,遍历此字符串,统计有多少个英文字母“a"

sentence='cats are so cute'
i=0
for x in sentence:
    if x=='a':
        i+=1
print(f"句子里面'a'的个数为{i}")


4.range 语句

(1)功能:获得一个数字序列

(2)语法格式:

语法1:range(num)

语法2:range(num1,num2)

语法3:range(num1,num2,step)

(3)range语句的注意事项:

  • 语法1从0开始,到num结束(不含num本身)
  • 语法2从num1开始,到num2结束(不含num2本身)
  • 语法3从num1开始,到num2结束(不含num2本身),步长以step为准 

 (4)示例

for x in range(10,20,2):
    print(f"{x}\t",end='')

  • 也可以用来控制for循环的循环次数
for x in range(6):
    print("泥嚎呀,我叫窝嚎!")

(5)练习案例

定义一个数字变量num,内容随意,并使用range()语句,获取从1到num的序列,使用for循环遍历它,在遍历的过程中,统计有多少偶数出现

num=6
count=0
for x in range(1,num+1): #range语句序列不包含右边的数字,故+1
    if x%2==0 and x!=1:
        count=count+1
print(f"从1到{num}有{count}个偶数")


5.变量作用域

(1)for循环中的临时变量,其作用域定为:循环内

(2)这种限定:

  • 是编程规范的限定,而非强制限定
  • 不遵守也能正常运行,但不建议这样做
  • 如果访问临时变量,可以预先在循环外定义它

图源b站黑马程序员


6.for循环的嵌套使用

(1)注意事项:

  • 需要注意缩进,嵌套for循环同样通过缩进确定层次关系、
  • for循环和while循环可以相互嵌套使用

 (2)练习案例:

 通过for循环,输出九九乘法表

j=1
for i in range(1,10):
    for j in range(1,i+1):
        print(f"{i}x{j}={i*j}\t",end='')
    print()


7.循环中断:break and continue

(1)continue的作用是:

中断所在循环的当次执行,直接进入下一次

(2)break的作用是:

直接结束所在的循环 

(3)注意事项:

  • continue和break,在for和while循环中作用一致
  • 在嵌套循环中,只能作用在所在循环上,无法对上层循环起作用 

8.综合案例

  •  某公司,账户余额有1W元,给20名员工发工资。
  • 员工编号从1到20,从编号1开始,依次领取工资,每人可领取1000元领工资元。
  • 领工资时,财务判断员工的绩效分(1-10)(随机生成),如果低于5,不发工资,换下一位
  • 如果工资发完了,结束发工资。

 提示:使用循环对员工依次发工资;continue用于跳过员工,break直接结束发工资;

import random
balance=8000
for x in range(1,21):
    grade=random.randint(1,10)
    if balance==0:
        print("公司余额不足,无法继续发放工资")
        break
    print(f"员工{x}",end='')
    if grade<5:
        print(f"绩效分为{grade},不达标,不发工资")
        continue
    else:
        print(f"绩效分为{grade},达标,发1000元工资")
        balance-=1000

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值