Python基础学习:逻辑语句

一、逻辑判断

1.1 布尔类型

1.1.1 常见数据类型

类型描述
数字int、float、complex(复数)、bool(布尔)
字符串(string)描述文本
列表(list)有序的可变序列
元组(tuple)有序的不可变序列
集合(set)无序不重复集合
字典(dictionary)无序Key-Value集合

1.1.2 其中的bool(布尔)类型

它表达现实生活中的逻辑,即真和假

  • Ture表示真(1)
  • False表示假(0)
result_1 = True
result_2 = 10 > 5
result_3 = "school" == "schooll"
print(f"result_1的结果是{result_1},类型是{type(result_1)};"
      f"result_2的结果是{result_2},类型是{type(result_2)};"
      f"result_3的结果是{result_3},类型是{type(result_3)}")

运行结果:

result_1的结果是True,类型是<class 'bool'>;result_2的结果是True,类型是<class 'bool'>;result_3的结果是False,类型是<class 'bool'>

1.2 if 判断语句

1.2.1 if 语句基本格式

语法:if 要判断的条件 :

                 条件成立时要做的事情

Age = 21
if Age > 18 :
    print("我已经成年了")

注意:if 使用是通过缩进表示哪些语句是跟在if后面,当if后的语句成立才执行。 

例如:

Age = 11
if Age > 18 :
    print("我已经成年了")
    print("我比小时候自由了")
print("时间过得真快")

运行结果:

时间过得真快

1.2.2 if else 语句组合用法

语法:if 条件 :

                条件成立要做的事情

           else :

                不满足条件要做的事情

1.2.3 if elif else语句组合用法

语法:if 条件1 :

                条件1成立要做的事情

           elif 条件2 :

                条件2成立要做的事情

           elif 条件3 : 

                条件3成立要做的事情

            ...

           else :

                所有条件都不成立要做的事情

注意:

1. 代码从前往后执行,一旦进入了某个条件,则不会再进入后面的其它条件;

2. 使用这种语句相较于纯 if 语句的优点是,如果条件1不满足,则去到 elif 判断条件2时,自动排除条件1里的范围;而如果使用的是 if 语句,则会在判断条件2时再重复判断条件1,增加了运算量。

1.2.4 判断语句的嵌套

语法:

if 条件1:

        满足条件1要做的事

        if 条件2:

                 满足条件2要做的事

只有进入条件1 才有机会进入条件2

二、循环语句

2.1 while语句

语法:

while  条件 :

        条件满足时做的事情

注意:条件可以是bool类型或者比较结构

例如:

import random
num = random.randint(1,10)
chance = 1
while chance <= 3:
    num_in = int(input())
    if num_in == num:
        chance = 5
        print("猜对了")
    elif num_in > num:
        print("猜大了")
    else :
        print("猜小了")
    chance = chance + 1
if chance == 4:
    print("猜数失败")

2.2 for循环

for循环是对一批内容进行逐个处理。

语法:

for 临时变量 in 待处理数据集

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

例如:判断字符串中有几个a

name1 = "Today is monday"
a_num = 0
for x in name1:
    if x == 'a':
        a_num += 1
print(f"a有{a_num}个")

注意:

1. 能循环多少次完全取决于“待处理数据集”中有多少数据。

2. x若不在for循外部提前定义,则在规范上只能在for循环内部被访问,但在for循环外部访问不会报错。

3. 如果x在for循外部提前定义,则i的值在for循环结束后为序列最后一个数,在for循环外部可以被访问。

2.2.1 range语句

一般配合for循环使用,可以通过range控制循环次数

语法1:

range(num)

获取从“0”开始到“num-1”结束的“num”个数字序列

eg:range(5) 取得的数据为:[ 0, 1, 2, 3, 4 ]

语法2:

range(num1, num2)

获取从“num1”到“num2-1”结束的数字序列(默认步长为1)

eg:range(5, 10)取得的数据为:[ 5, 6, 7, 8, 9 ]

语法3:

range(num1, num2, step)

获取从“num1”开始到“num2-1”结束的数字序列,步长为step

eg:range(1, 10 ,2)取得的数据为[ 1, 3, 5, 7, 9 ]

for x in range(1,11,2):
    print(x)

运行结果:

1  3  5  7  9

for循环应用举例:

#输出99乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print(f"{j}*{i}={i*j}\t", end ='')#\t相当于tab,添加空格;end = ''表示最后不进行换行而是用空字符
    print()#输出空字符并换行

输出结果:

2.3 continue与break关键字控制循环

continue:中断本次循环,直接进入下一次循环,在while和for循环中都适用。

break:直接结束循环。

举例:

#发工资 账户余额1w,给20名员工发工资,绩效低于5则不发工资,发完为止
money = 10000
for i in range(1,21):
    import random
    score = random.randint(1, 10)
    if money == 0:
        break
    if score < 5:
        print(f"员工{i},绩效分{score},低于5,不发工资,下一位")
        continue
    money -= 1000
    print(f"员工{i},绩效分{score},高于5,发工资,余额{money}")

print("工资已发完")

运行结果:

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值