4.if语句

int()使用补充

# int(x,base):将x转换为整型,如果x是字符串,则base表示的是字符串x的进制,最终通过int转换为十进制
# base的默认值为10
​
print(int("110"))
print(int("110",base=10)) # '110'是十进制,进过int转换,转换为十进制
print(int("110",10))
# print(int('a110'))  # ValueError: invalid literal for int() with base 10: 'a110'
​
print(int("110",base=2))  # '110'是二进制,进过int转换,转换为十进制
# print(int("140",base=2)) # ValueError: invalid literal for int() with base 2: '140'
​
print(int("0b110",base=2))
print(int("0b1120",base=16))
​
print(int('263',base=10))
print(int('263',base=8))

Python中语句的结构:顺序结构,分支结构【if语句】,循环结构【while语句和for语句】

一、分支语句

1.概念

在生活中,所谓的判断,指的是如果某些条件满足才能做某件事情;条件不满足时则不能做

在编程中,判断所给定的条件是否满足,根据判断的结果对应执行不同的语句,Python中的分支语句只有if语句

2.使用

2.1if单分支

语法:

if 表达式:
    语句

说明:当程序执行到if语句时,首先判断“表达式”的值,如果表达式的值为“真”,则执行缩进的语句;如果表达式的值为“假”,则跳过整个if语句继续向下执行

"""
1.if语句中条件可以是常量,变量或表达式,表达式常用关系运算符和逻辑运算符
  在Python中,表示假的数据:0  0.0  ""  False  None  []  ()  {} 等
2.在Python中,通过缩进区分代码块的,在编写程序的时候,要注意缩进的问题
3.if单分支的工作原理:如果条件成立,则执行代码块中的语句
  如果条件不成立,则整个if语句会被跳过,继续执行后面的代码
4.总结:代码块要么执行,要么不执行
"""

# 1.基本语法
"""
if 条件:
    语句
"""
# a.常量
print('start')
if 0:  # 'abc'  True  False
    print('ok~~~~1111')
print('end')
​
# b.变量
num = 0.0
if num:
    print("ok~~2222")
​
# c.表达式
num1 = int(input("first number:"))
num2 = int(input("second number:"))
if num1 == num2:
    print("相等")
​
# 2.应用
# a.需求:未成年人禁止进入网吧
# age = int(input("请输入你的年龄:"))
# if age < 18:
#     print("未成年人禁止进入网吧")
​
# b.需求:从控制台输入一个数,判断该数是否是偶数
# num = int(input("请输入一个数:"))
# # 注意:=和==的区别
# if num % 2 == 0:
#     print(f"{num}是一个偶数")

2.2if双分支

语法:

if 表达式:
    语句1
else:
    语句2

说明:当程序执行到if-else语句时,首先判断“表达式”的值,如果表达式的值为“真”,则执行语句1;如果表达式的值为“假”,则执行语句2

"""
1.if-else中的条件和if单分支的使用完全相同
2.工作原理:根据条件是否成立,如果条件成立,则执行if分支,如果条件不成立,则执行else分支
3.总结:if-else实现二选一的操作
"""
​
# 1.
# num1 = int(input("first number:"))
# num2 = int(input("second number:"))
# if num1 == num2:
#     print("相等")
# else:
#     print("不相等")
​
# 2.
# age = int(input("请输入你的年龄:"))
# if age < 18:
#     print("未成年人禁止进入网吧")
# else:
#     print("欢迎光临,请多多充值")
​
# 3
num = int(input("请输入一个数:"))
if num % 2 == 0:
    print(f"{num}是一个偶数")
else:
    print(f"{num}是一个奇数")

双分支练习:

​
# 1.随机数的产生
"""
方式一
    第一步:import random
    第二步:num = random.randint(start,end),包头包尾【闭区间】
方式二
    第一步:import random
    第二步:num = random.choice(range(start,end,step)),包头不包尾【前闭后开区间】
        start:开始数字,可以省略,默认为0
        end:结束数字,不可以省略
        step:步长,可以省略,默认为1
"""
import  random
num1 = random.randint(1,100)   # 获取1~100之间的任意一个整数随机数
print(num1)
​
num2 = random.choice(range(100))  # 获取0~99之间的任意一个整数随机数
print(num2)
num2 = random.choice(range(10,100))  # 获取10~99之间的任意一个整数随机数
print(num2)
num2 = random.choice(range(1,100,2))  # 获取1~99之间的任意一个奇数随机数
print(num2)
num2 = random.choice(range(0,100,2))  # 获取0~99之间的任意一个偶数随机数
print(num2)
num2 = random.choice(range(3,100,3))  # 获取3~99之间的任意一个3的倍数随机数
print(num2)
# 注意:如果end和step未被省略,则start也不能省略,如果start>end,则步长为负数即可
# num2 = random.choice(range(100,2))  # IndexError: range object index out of range
# print(num2)    range(100,2,1)--->
num2 = random.choice(range(100,2,-1))  # 等价于range(3,101,1)
print(num2)
​
# 2. 需求:模拟彩票中奖操作:让程序产生一个随机数【1~100】,和用户输入的数进行比较,如果相等,则表示中奖
import random
random_num = random.randint(1,100)
print('随机数:',random_num)
# random_num = random.choice(range(1,101))
input_num = int(input("请输入一个1~100之间的数:"))
if random_num == input_num:
    print("恭喜你,中奖了!")
else:
    print("谢谢参与!")

2.3if多分支

语法:

if 表达式1:
    语句1
elif 表达式2:
    语句2
elif 表达式3:
    语句3
….
elif 表达式n:
    语句n
else:
    语句m
    
else if  ---->elif

说明:当程序执行到if-elif语句时,首先计算表达式1的值,如果表达式1的值为真,那么执行语句1,执行完语句1则直接跳出整个if-elif语句,代码继续向下执行;

​
"""
总结:
    1.如果需要操作的情况在3种及3种以上,则使用if多分支
    2.if多分支的特点:实现的多选一的操作
    3.不管if多分支中有多少个条件成立,都只会执行其中的一个分支,从上往下优先执行到谁就是谁
    4.else可以省略,如果if和elif后面的条件都不成立,则执行else分支
    5.if和elif的后面一定要添加条件,而else的后面无需添加条件
"""
​
# 1.基本语法
# a.
week = input("请输入星期的数字:")
if week == '1':
    print('星期一')
elif week == '2':
    print('星期二')
elif week == '3':
    print('星期三')
elif week == '4':
    print('星期四')
elif week == '5':
    print('星期五')
elif week == '6':
    print('星期六')
elif week == '7':
    print('星期日')
else:
    print("没有该星期的表示")
​
print('over')
​
# 2.应用
# 需求:从控制台输入两个数,比较两个数的大小,如果大于,则输出1,如果相等,则输出0.如果小于,则输出-1
num1 = int(input("first number:"))
num2 = int(input("second number:"))
if num1 > num2:
    print(1)
elif num1 < num2:
    print(-1)
else:
    print(0)

2.4三者的区别

"""
if语句中的单分支,双分支和多分支的区别
单分支:只能处理一种情况,特点:要么执行,要么不执行
双分支:处理两种情况,特点:实现的是二选一的操作
多分支:处理3种及3种以上的情况,特点:实现的是多选一的操作
"""
# 多分支
n = 3
if n > 0:
    print('a')
elif n > 1:
    print('b')
elif n > 2:
    print('c')
elif n > 3:
    print('d')
else:
    print('e')
# a
​
# 单分支
if n > 0:
    print('a')
if n > 1:
    print('b')
# a  b
​
# 双分支
if n > 2:
    print('c')
else:
    print('e')
# c

2.5嵌套if语句

# 单分支,双分支和多分支两两之间可以进行任意的嵌套
​
"""
总结:
    1.在嵌套的if语句中,注意缩进问题
    2.else无法单独使用,在嵌套if语句中,else和哪个if对齐,则属于哪个if分支
    3.理论上来说,嵌套的层数没有限制的,但是为了代码的可读性,建议嵌套的层数不要超过4层
"""
​
# 1.基本语法
a = 10
b = 20
if a > 5:
    print("ok~~~111")
    if b == 20:
        print("ok~~~2222")
    else:
        print('no~~~~~2222')
else:
    print('no~~~~1111')
​
# 2.应用
# 需求:产生一个1~100之间的随机数,判断该数是否是2的倍数或7的倍数
# 注意:倍数/整除,都是进行求余的运算,运算完的如果为0
import random
num = random.randint(1,100)
# 方式一
if num % 2 == 0:
    if num % 7 == 0:
        print(f"{num}是2或7的倍数")
​
# 方式二
if num % 2 == 0 and num % 7 == 0:
    print(f"{num}是2或7的倍数")

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chiayi_init_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值