Python控制语句/循环语句
1.控制语句
1.1.判断语句 if...elif...else
#if 语句(比较/逻辑/成员均可) #字符串/列表/元组/字典 为空返回False,非空返回True #条件成立返回True,不成立返回False
ar = "" list = [] tuple = () dic = {} if ar:#条件成立返回True继续执行,不成立返回False不执行 print("返回True执行此句...")
age=5 if age>10: #当if后面的语句满足条件,运算结果是True执行子语句 print("恭喜你10岁了")
age = 34 if age<18: print("未成年") elif age==18: print("成年了") elif age==30: print("而立之年") elif age==60: print("花甲之年") else: print("你输入的年龄是{0}".format(age))
#input()该函数获取控制台输入内容,必须为int类型 age = int(input("请输入年龄:"))#将控制台输入内容转换为int类型 if age<18: print("未成年") elif age==18: print("成年了") elif age==30: print("而立之年") elif age==60: print("花甲之年") else: print("你输入的年龄是{0}".format(age))
1.2.练习题
第一题: 一个足球队在寻找年龄在10岁到12岁的小女孩(包括10岁和12岁)加入。编写一个程序,询问用户的性别(m表示男性, f表示女性)和年龄,然后显示一条消息指出这个人是否可以加入球队,询问10次后,输出满足条件的总人数 # 10<=age<=12 # sex = str(input("请问性别:")) num = 0 for a in range(0,10): sex = str(input("请问性别:")) age = int(input("输入年龄:")) if sex=="f" and 10<=age<=12: num=num+1 print("性别:{0},这个{1}岁的小女孩,第{2}个符合条件...".format(sex,age,num)) else: pass
第二题: 输入num为四位数,对其中按照如下的规则进行加密: 1)每一位分别加入5,然后分别将其替换为该数除以10取余后的结果 2)将该数的第一位和第4位互换,第二位和第三位互换 3)最后合起来作为加密后的整数输出 num = int(input("请输入一个四位数:")) if 999<num<=9999: num_str = str(num) a = num_str[0] b = num_str[1] c = num_str[2] d = num_str[3] num_new = d+c+b+a print(int(num_new)) else: print("非四位数")
第三题: 一家商场在降价促销。如果购买金额50-100元(包含50元和100元)之间,会给10%的折扣, 如果购买金额大于100元会给20%折扣,编写一个程序,询问购买价格,再显示出折扣(10%或20%)和最终价格 price = int(input("购买了多少钱的商品:")) if 50<=price<=100: print("购买金额:{0},享受折扣:{1},折扣金额:{2},最终价格:{3}".format(price,"10%",price*0.1,price-price*0.1)) elif price>100: print("购买金额:{0},享受折扣:{1},折扣金额:{2},最终价格:{3}".format(price,"20%",price*0.2,price-price*0.2)) else: print("无折扣...")
第四题: 生成随机整数,从1-9取出来。然后输入一个数字,来猜,如果大于,则打印bigger。 小的,则打印less。如果相等,则打印equal import random num = random.randint(1,10) input_num = int(input("输入一个数字:")) if num==input_num: print("{0} == {1} 输出:{2} | {3}".format(num,input_num,True,"equal")) elif num>input_num: print("{0} > {1} 输出:{2} | {3}".format(num,input_num,True,"bigger")) elif num<input_num: print("{0} < {1} 输出:{2} | {3}".format(num,input_num,True,"less")) else: print("随机数:{0}, 输入数字:{1}".format(num,input_num))
2.控制语句 for&while
2.1.for循环
#for循环 #for item in 某个数据类型:字符串、列表、元组、字典、集合等 #代码块 #遍历字符串 str_new = "abcdefg" for item in str_new:#for循环遍历str_new里面的元素,然后赋值给item print(item) #遍历列表 list_new = [1,2,3,4,5,6,7,23] for item in list_new: print(item) #遍历元组 tuple_new = (1,2,3,4,5,6,22222) for uu in tuple_new: print(uu) #遍历出字典中所有的key dit = {"name":"张三","password":"123456","age":23} for item in dit: print(item)
2.1.1.for循环中的range()
#range()函数 range(m,n,k) m头,n尾,k步长 取头不取尾 #range函数 生成整数序列 #for item in range(x,y): #代码块 for item in range(5):#range(m,n,k) m默认为0,k默认为1 print(item)#0 1 2 3 4
2.1.2.for循环
#遍历出L中所有的元素 L = [1,4,2,7,9] for item in range(0,len(L)-1): print(L[item])
#请利用for循环和range函数,完成1-100整数相加的和(包含1,100) sum = 0 for item in range(1,101): sum = sum+item print(sum)
2.1.3.嵌套循环
#打印出嵌套列表中所有的值 L = [["a","c","c","e"],["rr","dd","ww"],["aa","ww","qq"],["hh","tt","uu","xx","ii"]] for item in range(0,len(L)): for item2 in range(0,len(L[item])): print(L[item][item2])
#利用嵌套for循环生成一个直角三角形 # * # ** # *** # **** # ***** for a in range(0,5): for b in range(0,a+1): print("*",end='') print("")
2.2.while循环
#while 控制循环 #语法: #while 条件表达式: 逻辑/程远/比较/空数据/布尔值 #代码块 #执行规律:首先判断while 后面的条件大大是是否成立 #如果True那就执行代码块,执行完毕后,继续判断--->如果True那就执行代码块 #否则不进入内部执行
while 3==2: print("执行通过")
a = 1#初始值 while a<10: print("来了老弟!!!") a=a+1
#利用while循环实现1-100整数相加 num = 0 sum = 0 while num<=100: sum = sum+num num=num+1 print(sum)
#while 与 if 语句搭配使用 break,continue #break 结束 #continue 结束当前循环,继续下次循环