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的倍数")