Python编程基础_02 判断语句 if语句
运算符
描述
示例
==
检查两个操作数的值是否相等,如果是则条件变为真。
如a=3,b=3,则(a == b) 为 True
!=
检查两个操作数的值是否相等,如果值不相等,则条件变为真。
如a=1,b=3,则(a != b) 为 True
>
检查左操作数的值是否大于右操作数的值,如果是,则条件成立。
如a=7,b=3,则(a > b) 为 True
<
检查左操作数的值是否小于右操作数的值,如果是,则条件成立。
如a=7,b=3,则(a < b) 为 False
>=
检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。
如a=3,b=3,则(a >= b) 为 True
<=
检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。
如a=3,b=3,则(a <= b) 为 True
运算符
逻辑表达式
描述
实例
and
x and y
布尔”与”:如果 x 为 False,x and y 返回 False,否则它返回 y 的值。
True and False, 返回 False。
or
x or y
布尔”或”:如果 x 是 True,它返回 True,否则它返回 y 的值。
False or True, 返回 True。
not
not x
布尔”非”:如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
not True 返回 False, not False 返回 True
1 2 3 4 5 6 7 8 9 10 11 import random a = str(random.randint(1, 3)) # 我们定义:1>3,2>1,3>2 b = input("输入您的猜拳(1=石头,2=布,3=剪刀):") print("电脑猜的拳:" + str(a)) if ((a == "3" and b == "1") or (a == "1" and b == "2") or (a == "2" and b == "3")): print("You win") elif a == b: print("Tie") else: print("You lose")
1 2 3 4 5 6 7 8 9 user = "admin" pwd = "123456" if user == "admin": if pwd == "123456": print("ok") else: print("no") else: print("no")
1 print("ok") if a == 1 else print("no")
break是直接跳出当前循环
continue是到循环尾,开始下次循环
循环语句 while循环 1 2 3 4 a = 1 while a <= 10 : print(a) a+=1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 a = 1 b = 1 n = "" m = "" while (a < 10): if a != b: n = ("%d*%d=%d " % (a, b, a * b)) m = m + n b += 1 else: n = ("%d*%d=%d" % (a, b, a * b)) m = m + n a += 1 b = 1 print(m) m=""
for循环 1 2 for i in "yes": print(i)
1 2 3 4 for i in range(1, 10): for j in range(1, i+1): print(f'{j}x{i}={i*j}\t', end='') print()
容器 字符串 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 txt = 'a student' # 下标操作: ''' a Student 012345678 顺序 ''' print(txt[7]) # 取下标为7的字符 print(txt[2:8]) # 取下标2到7的字符 print(txt[3:]) # 取下标3到最后一个 print(txt[3:-1]) # 取下标为3开始 到 最后第2个 之间的字符 print(txt[2:6:2]) # 每隔2个取下标2到5的字符 print(txt[::-1]) # 面试题:翻转文本 # 查找 print(txt.find("st")) # 寻找字符串,并返回该字符串开始的下标,未找到返回-1 print(txt.find("t", 7, 9)) # 字符串序列.find(子串, 开始位置下标, 结束位置下标) # print(txt.index("t0", 7, 9)) # 检测某个子串是否包含在这个字符串中,如果在,返回这个子串开始的位置下标,否则则报异常。 # 修改 print(txt.replace(" ", "a")) # 将参数1替换成参数2 print(txt.replace("t", "o", 1)) # 将参数1替换成参数2,参数3为替换次数,默认全部替换 # 进阶 print(txt.capitalize()) # 把字符串的第一个字符大写 print(txt.title()) # 把字符串的每个单词首字母大写 print(txt.startswith('a')) # 检查字符串是否是以 参数1 开头, 是则返回 True,否则返回 False print(txt.endswith('t')) # 检查字符串是否是以 参数1 结束, 是则返回 True,否则返回 False print(txt.lower()) # 转换txt中的全部大写字母为小写 print(txt.upper()) # 转换txt中的全部小写字母为大写 print(txt.ljust(2)) # 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串 print(txt.rjust(2)) # 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串 print(txt.center(2)) # 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串 print(txt.lstrip()) # 删除txt左边的空白字符 print(txt.rstrip()) # 删除txt右边的空白字符 print(txt.strip()) # 删除两边的空白字符 print(txt.rfind("st")) # 类似于 find()函数,不过是从右边开始查找. # print(txt.rindex("t0", 7, 9)) # 检测某个子串是否包含在这个字符串中,如果在,返回这个子串开始的位置下标,否则则报异常。 txt02 = 'hah\n616\n61dssss' print(txt02.partition('\n')) # 把txt以str分割成三部分,str前,str和str后,返回数组(元组)//rpartition是从右开始 print(txt02.splitlines()) # 按行分割,返回列表 print("txt".isalpha()) # 如果 txt 所有字符都是字母 则返回 True,否则返回 False print("23".isdigit()) # 如果 txt 所有字符都是数字 则返回 True,否则返回 False print("2faf3.".isalnum()) # 如果 txt 所有字符都是字幕或数字 则返回 True,否则返回 False print(" ".isspace()) # 如果 txt 所有字符都是空格(包括tab字符) 则返回 True,否则返回 False
列表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 newlist = [1, 2, 3, "02"] print(newlist) for i in newlist: print(i, ) # 列表中存放的数据是可以进行修改的,比如"增"、"删"、"改"、"查" # ---增--- A = ['xiaoWang', 'xiaoZhang', 'xiaoHua'] print("-----添加之前,列表A的数据-----") for temp_name in A: print(temp_name) temp = input('请输入要添加的学生姓名:') A.append(temp) print("-----append添加之后,列表A的数据-----") for temp_name in A: print(temp_name) # 通过extend可以将另一个集合中的元素逐一添加到列表中 a = ["hi", 1, 2, "hi"] b = [3, 4, "hi"] a.append(b) # 直接添加b到a中,b现在是列表类型 print(a) a.extend(b) # 把b中的元素逐个添加到a中 print(a) # 通过insert(位置,元素) 在指定位置前插入元素 a.insert(1, 9) print(a) # ---删--- del a[3] # 删除下标为3的元素 print(a) a.pop() # 删除最后一个元素 print(a) a.remove(9) # 指定删除某个元素,没有该元素则报错 print(a) # ---改--- a[0] = 9 # 指定下标直接改 print(a) # ---查--- print(2 in a) print(8 not in a) print(a.count('hi')) # ---排序--- a.reverse() # 逆置列表 print(a) # a.sort() #sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。 不全是整型就报错 # a.sort(reverse=True) # print(a) # ---嵌套列表--- # 有点像二维数组? school_names = [['北京大学', '清华大学'], ['南开大学', '天津大学']] print(school_names[1][0]) # ---列表推导--- list1 = [i for i in range(0, 10, 2)] print(list1)
元组 1 2 3 4 5 6 t1 = (10, 20, 30,"123") t2 = (10,) print([0]) print(len(t1)) print(t1.index("123")) # 元组数据不支持增删改,只支持查找,可以整体重新赋值
字典 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 info = {'name': 'lily', 'age': 20, 'address': 'M78星云', 5: 6} print(info) # 继续走增删改查 # 查 print(info.get('age')) # 参数二为获取不到时的默认值 print(info['age']) # 如果关键字不存在,直接报错,推荐get # 增 info['sex'] = '男' print(info) # 删 del info['name'] # 删除单个键值对 print(info) info.clear() # 直接清空全部 print(info) # 改 info['sex'] = '女' # 和增加一样 info['add'] = 'beijing' # 和增加一样 print(info) # 其他操作 print(info.keys()) # 输出所有关键词,列表类型 print(info.values()) # 输出所有值,列表类型 print(info.items()) # 输出所有对,列表嵌套元组类型
容器公共方法 函数
用法
描述
min()
min(str)
取容器中最小值
max()
max(str)
取容器中最大值
del()
del(str[1])
删除容器中的某个元素
len()
len(str)
取容器的长度