CZ-python01-06
练习代码
练习代码 # Python注释 # 注释不是越多越好,对于一目了然的代码,不需要添加注释 # 对于复杂的操作,应该在操作开始填上若干行注释 # 对于不是一目了然的代码,应在其行尾添加注释(为了提高可读性,注释与代码应间隔合适的距离,如两个空格) # 切忌描述代码,如一句一句的解释代码 # 变量 # 定义:程序在运行过程中需要临时保存一些数据,此时就需要用到变量来进行数据的保存 #变量的作用举例:(以下实例只适用于python3.x) """print("今天很开心,我要吃红烧牛肉面....") basket1 = "牛肉" basket2 = "面条" print("您购买了:") print(basket1,basket2) print("您购买了:", end='') print(basket1,basket2) print("您购买了:",(basket1,basket2), end="\n") print("您购买了:", basket1,basket2, end="") """ # 运行结果: # 今天很开心,我要吃红烧牛肉面.... # 您购买了: # 牛肉 面条 # 您购买了:牛肉 面条 # 您购买了: ('牛肉', '面条') # 您购买了: 牛肉 面条 # 变量的类型 # 整形:有符号整形、长整形、浮点型、复数 # 布尔类型:true、false # 字符串类型:string # 列表类型:list # 元组:tuple # 字典:dictionary '''num1 = 1234567 num2 = 2 ** 200000 print("num1=", num1,"\n", "num2=", num2) print(type(num1),type(num2)) num3 = 3.1415926 print(num3) print(type(num3)) num4 = "hello python" print(num4) print(type(num4)) ''' #变量练习 #定义变量 '''beef_price = 18.5 noodles_price = 2 #求总和 total_price = beef_price + noodles_price print("红烧牛肉面共花去:", end="¥") print(total_price) #满减优惠 total_price = total_price - 5 print("优惠后的价格:¥", total_price, end="") ''' #标识符规则 # 由字母数字下划线组成,且数字不能开头(系统关键字除外),另外python中字母大小写敏感; #命名规则:大驼峰(UserName)小驼峰(userName) #关键字 # import keyword # keywords = keyword.kwlist # print(keywords) #运算符 # +、-、*、/、** 、%、// # number1 = 10 # number2 = 20 # number3 = 2 # # result1 = number1 + number2 # result2 = number1 - number2 # result3 = number2 * number1 # result4 = number1 / number3 # result5 = number1 ** number3 # result6 = number2 % number3 # result7 = number2 // number3 # print("result1=", result1) # print("result2=", result2) # print("result3=", result3) # print("result4=", result4) # print("result5=", result5) # print("result6=", result6) # print("result7=", result7) #复合运算符 # a = 1 # a += 1 #相当于 a = a + 1 # print(a) # # a *= 2 #相当于a = a * 2 # print(a) # # a -= 1 #相当于a = a - 1 # print(a) # # a /= 1 #相当于a = a / 1 # print(a) # # a %= 1 #相当于a = a % 1 # print(a) # # a **= 2 #相当于a = a ** 2 # print(a) # # a //= 1 #相当于a = a // 1 # print(a) #输入和输出 #input()函数收到的数据都是字符串类型 # username = input("请输入你的账号:") # password = input("请输入你的密码:") # print(username, password) # print(type(username)) # print(type(password)) # #类型转换 # username = int(input("请输入你的账号:")) # password = input("请输入你的密码:") # print(type(username)) # print(type(password)) #加法计算器 # left_number = input("请输入左操作数:") # right_number = input("请输入右操作数:") # result = left_number + right_number #这样会将字符串进行相加 # print(result) # result1 = int(left_number) + int(right_number) # print(result1) #格式化输出 # name = "sishen" # age = 22 # addr = "河南省安阳市汤阴县" # print("你的名字是:%s,年龄:%d,家庭住址:%s" % (name, age, addr )) # print("你的名字:" + name + "你的年龄:" + str(age) + "家庭住址:" + addr) #注意的是这里的age前面必须加上str进行类型转换,否则会报错 # # f = 3.14159262345 # print("显示小数点后2位:%.2f" % f) # print("显示小数点后4位:%.4f" % f) # print("显示百分号:%.3f,百分数表示:31.41%%" % f) # print("八进制表示保留两位小数:%o" % f) # TypeError: %o format: an integer is required, not float #输入输出练习 # name = input("请输入角色名:") # level = input("请输入角色等级:") # skill = input("请输入技能名称:") # tel = input("请输入电话号码:") # address = input("请输入住址:") # print("==============角色面板================") # print("角色名:%s" % name) # print("角色等级:%s" % level) # print("角色技能:%s" % skill) # print("玩家电话:%s" % tel) # print("家庭住址:%s" % address) # print("======================================") #名片管理系统第一版 # name = input("请输入用户名:") # age = input("请输入您的年龄:") # skill = input("请输入您的技能:") # telephone = input("请输入您的联系电话:") # address = input("请输入您的住址:") # # print("========================bussiness card=========================") # print("姓名:%s" % name) # print("年龄: %s" % age) # print("技能:%s" % skill) # print("联系电话:%s" % telephone) # print("家庭住址:%s" % address) # print("===============================================================") #if语句 # age = int(input("请输入年龄:")) # if age >= 18: # print("年龄满足要求,可以进网吧开黑了。。。") # else: # print("熊孩子,作业写完没有,赶快回家去。。。。") #数字比较 # num1 = input("请输入第一个数字:") # num2 = input("请输入第二个数字:") # # if num1 == num2: # = 赋值号 == 比较运算符 # print("num1=num2") # else: # print("num1 != num2") #取款例子 # name = input("请输入用户名:") # password = input("请输入密码:") # # account = 10000 # print("欢迎%s登录世纪银行自动取款机" % name) # money = input("请输入取款金额:") # if account >= int(money): # print("用户%s 此次提款: %s 元。余额:%d" % (name, money, account - int(money) ) ) # else: # print("余额不足,请重新输入取款金额!") #逻辑运算符 # username = input("请输入账号:") # password = input("请输入密码:") # # if username == "admin" and password == "admin123": # print("登录成功!") # else: # print("账号或密码错误!请重新输入!") # card = input("请输入您的身份证号:") # ticket = input("请出示您的车票:") # # #定义乘车人信息 # if card == "123123" or ticket == "1" or int(card) == 123123 or int(ticket) == 1: # print("可以进站乘车!") # print("===" * 20) # num = input("请输入一个10以内的整数:") # if int(num) < 10: # print("您输入的数是:%s" % num) # else: # print("您输入的数字有误,请重新输入!") # if not (int(num) > 10): # print("您输入的数是:%s" % num) # else: # print("您输入的数字有误!") # working_hours = input("请输入工时:") # #初始化加班时长 # overtime = 0 # #判断用户是否有加班 # if int(working_hours) > 48: # overtime = int(working_hours) - 48 #计算加班时长 # # #结算工资 #print("++++++++" * 10) # wage = 48 * 80 + overtime * 120 # print("======" * 20) # print("薪资明细:工时:%s 小时,加班时长:%d 小时,工资:%d" % (working_hours, overtime, wage )) # user_name = input("请输入用户名:") # password = input("请输入密码:") # if user_name == "admin" and password == "123123": # print("login success!") # else: # print("login faild!") # score = int(input("请输入分数:")) # if score >= 60: # print("congratulations,you access the exam!") # else: # print("sorry,you may need to retake the exam!") #奇偶性判断 # number = input("请输入一个数字:") # if int(number) % 2 == 0: # print("%s是一个偶数!" % number) # else: # print("%s是一个奇数!" % number) #初始化油箱油量 # oil = 100 # #接收用户输入 # oil_level = int(input("请输入当前油量:")) # #判断油量 # if 25 < oil_level <=75: # print("请放心行驶!") # elif oil_level == 0: # print("饿死老子了,动不了了!") # elif oil_level <= 25: # print("请及时加油!") # elif oil_level > 75: # print("可以大油门冲刺!") # else: # print("输入有误!请重新输入!") ######################################################################## #判断成绩等级 # score = int(input("请输入成绩:")) # if 90 <= score <= 100: # print("您的成绩是A") # elif 80 <= score < 90: # print("您的成绩是B") # elif 70 <= score < 80: # print("您的成绩是C") # elif 60 <= score < 70: # print("您的成绩是D") # elif 0 <= score < 60: # print("您的成绩是X") ######################################################################### #ord函数和chr函数 # ch = input("请输入一个字符:") # print("%s :的ASCII值: %d" % (ch, ord(ch))) # # asc = int(input("请输入一个ascii码值:")) # print("ASCII %d 对应的字符为:%s"% (asc, chr(asc))) ########################################################################## # ch = input("请输入一个字符:") # #转换为ASCII码值 # asc = ord(ch) # # if 97 <= asc <= 122: # print("您输入的是小写字母!") # elif 65 <= asc <= 90: # print("您输入的是大写字母!") # elif 48 <= asc <= 57: # print("您输入的是数字!") # else: # print("您输入的是其他字符!") ########################################################################### # ch = input("请输入一个字符:") # if "a" <= ch <= "z": # print("您输入的%s 是小写字母!"% ch) # elif "A" <= ch <= "Z": # print("您输入的%s 是大写字母!"% ch) # elif "0" <= ch <= "9": # print("您输入的%s是一个数字!"% ch) # else: # print("您输入的%s 是其他字符!"% ch) ########################################################################## # age = int(input("请输入您的年龄:")) # money = int(input("请输入口袋中的钱数:")) # # if age >= 18: # print("可以进入网咖!") # if money >= 10: # print("开机成功!") # else: # print("滚犊子,赶快赚钱去!") # else: # print("熊孩子,回家写作业去!") ######################################################################### #名片管理系统 #接收用户输入的账户和密码 # user_name = input("请输入您的账号:") # password = input("请输入您的密码:") # # #初始化一个名片 # name = "sishen" # age = 20 # telephone = "19988886666" # address = "宇宙太阳系哈哈星" # #判断用户身份 # if user_name == "admin" and password == "admin123": # print("欢迎管理员大大光临名片管理小店") # print("您拥有本系统的最高权限!") # print("++" * 10 + "操作菜单" + "++" * 10) # print("1.修改名字") # print("2.修改年龄") # print("3.修改电话") # print("4.修改地址") # print("++" * 30) # option = input("请管理员大大输入您的操作序号:") # if option == "1": # print("您选择的是修改名字") # print("修改前的名字是:%s "% name, end="")# name = input("请输入修改后的名字:")# print("修改后的名字:%s "% name) # elif option == "2": # print("您选择的操作是:修改年龄") # print("修改前的年龄:%d "% age) # age = input("请输入修改后的年龄:") # print("修改后的年龄:%d "% age) # elif option == "3": # print("您选择的是修改电话") # print("修改前的电话:%s "% telephone) # telephone = input("请输入修改后的电话!") # print("修改后的电话:%s " % telephone) # elif option == "4": # print("您选择的操作是修改地址:") # print("修改前的地址:%s "% address) # address = input("请输入修改后的地址:") # print("修改后的地址:%s "% address) # else: # print("亲爱哒管理员大大,臣妾不知道您想干什么。。。") # print("+" * 30) # print("姓名:%s "% name) # print("年龄:%d "% age) # print("电话:%s "% telephone) # print("住址:%s "% address) # print("+" * 30) # #普通用户登录 # elif user_name == "abc" and password == "abc123": # print("欢迎使用名片管理系统v1.0") # print("=="*20) # print("姓名:%s "% name) # print("年龄:%d "% age) # print("手机号:%s "% telephone) # print("地址:%s "% address) # # else: # print("账号或密码错误!") # a = (36.9 + 26.9 + 15.9) * 0.75 # print(a) #字符串遍历 # my_string = "abcdefghijklmn" # #1使用while遍历 # index = 0 # while index < len(my_string): # print(my_string[index], end="|") # index += 1 # print() # #使用for循环 # for ch in my_string: # print(ch, end="+") #列表 # my_list = [] # print(type(my_list)) # my_list = [1, 2, 3, 'a', 'b', ] # print(my_list) # my_list = list() # print(my_list) # #访问列表中的元素 # my_list = ["abc", [1, 2, 3], ["def"], 6, 7, 8] # print(my_list[0]) # print(my_list[-1]) # print(my_list[2]) # print(my_list[1][0]) # #列表的遍历 # #my_list = [1, 2, 3, 4, "abd", "d", 'e'] # i = 0 # while i < len(my_list): # print(my_list[i], end=" ") # i += 1 # print("\n", "++" * 20) # #使用for循环遍历列表 # for value in my_list: # print(value, end=" ") # #直接创建列表 # my_list = [1, 2, 3, ' ', "abd" ] # print(my_list) # #循环创建列表 # my_list = [ ] #初始化列表 # i = 1 # while i <= 5: # my_list.append(i) # i += 1 # print(my_list) # # #使用函数创建列表 # my_list = range(1, 10) # print(my_list) #但结果并没有在意料之中,因为在python3.X中,range函数返回值需要进行类型转换 # print(list(my_list)) #这样就是我们要的结果了 # #使用for循环创建列表 # for value in range(1, 10): # print(value, end="") # my_list = [] # for value in range(1, 10): # my_list.append(value) # print(my_list, end="") #列表推导式 # my_list = [value for value in range(1, 10)] # print(my_list) # # my_list = [ value + 100 for value in range(1,9)] # print(my_list) # # my_list = [ 666 for value in range(3)] # print(my_list) # # my_list = [ 888 for _ in range(6)] # print(my_list) # #偶数列表 # # my_list = [value % 2 == 0 for value in range(1,100)] #这种是错误也的写法 # # print(my_list) # my_list = [ value for value in range(1, 100) if value % 2 == 0] # print(my_list) # # #奇数列表 # my_list = [value for value in range(1, 51) if value %2 != 0] # print(my_list) ################################################################################### # my_list = [ [1, 2, 3, 4], ["a", "b"] ] # my_list[0] = "wogaileha" # print(my_list) # print(len(my_list)) # print(len(my_list[1])) # print(type(my_list[0])) # # for value in my_list: # for m in value: # print(m, end=" ") # print() #列表中常用的函数 #help(list.append) # my_list = [] # my_list.append(10) # my_list.append(20) # help(my_list.insert) # my_list.insert(0, "ff") # print(my_list) # # list_a = ["a", "aa", "ccc"] # list_b = [1, 2, 3, 4] # list_a.append(list_b) # print(list_a) # # list_a.extend(list_b) # print(list_a) # # my_list = [ value for value in range(10, 20)] # print(my_list) # del my_list[0] # print(my_list) # my_list.pop(0) # print(my_list) # my_list.pop() # print(my_list) # my_list.append(18) # print(my_list) # #help(my_list.remove) # my_list.remove(18) # print(my_list) # #使用index函数查询列表元素位置 # position = my_list.index(18) # print(position) # position = my_list.index(200) # print(position) # #使用in判断一个元素是否在列表中 # my_list = [ value for value in range(1, 50) if value % 2 == 0] # print(my_list) # if 11 in my_list: # print("找到你了!") # else: # print("呜呜....") # my_list = [1, 1, 2, 3, 4, 5, 4, 3, 4, 6, 7] # while 3 in my_list: # my_list.remove(3) # print(my_list) # print(my_list.count(4)) # my_str = "a, bb, ccc, dddd" # my_list = my_str.split(",") # print(my_list) # new_str = ",".join(my_list) # print(new_str) ############################################################# #列表排序 # my_list = [88, 2, 10, 3, 4, 1, 2, 101] # # my_list.sort() #默认是升序 # # print(my_list) # # my_list.sort(reverse=True) #指定降序 # # print(my_list) # new_list = sorted(my_list) #sorted函数和sort函数的区别:sorted函数不会改变原列表的序列,sort函数会改变原列表的序列 # print(new_list) # print(my_list) # new_list01 = sorted(my_list, reverse=True) # print(new_list01) ################################################################### #元组 # my_tuple = (1, 2, 4, 5, 6) # print(my_tuple) # # my_tuple[0] = 100 # # print(my_tuple) # my_tuple = ((1, 2), ("aa", "bbb")) # print(my_tuple) # new_tuple = my_tuple[0][1] #访问元组 # print(new_tuple) # for value in my_tuple: #遍历元组 # for m in value: # print(m, end=" ") # print() # i = 0 #使用while遍历元组有问题 # while i < len(my_tuple): # n = 0 # while n < i: # print(my_tuple[n]) # n += 1 # i += 1 # print() ###################################################### #集合 # my_set = set() # # my_set = set("hello", ['a', 'b', 'c'], (1, 2, 3)) #这样会报错 # # print(my_set) # my_set = set([1, 2, 3, "abc"]) # print(my_set) # #向集合中添加元素 # my_set.add("qwer") # my_set.add(("abc")) # print(my_set) # my_set.update(["acbded", 1, 2, 333, 44]) # print("my_set:", my_set) # print("===" * 20) # #删除集合中的元素 # # new_set = my_set.pop() # # print(new_set) # my_set.add(0) # print(my_set) # my_set.pop() # print(my_set) # my_set = set([1, 2, 3, 4, 0, "aa", "bb"]) # my_set.add(999) # print(my_set) # my_set.remove(0) # print(my_set) # my_set.remove("aa") # print(my_set) # my_set.pop() # print(my_set) # # my_set.remove("cc") #如果被删除的元素不存在,则会报错 # # print(my_set) # my_set.discard("cc") #同样状况,discard不会报错 # print(my_set) # #集合遍历 # for value in my_set: # print(value, end="|") # print() # #集合的交集、并集 # print("==" * 20) # my_set1 = set([1, 2, 3, 4, 5]) # my_set2 = set([11, 22, 33, 44, 1, 2, 3, 4]) # inter = my_set1.intersection(my_set2) # print("交集:", inter) # new_inter = my_set1 & my_set2 # print(new_inter) # print("==" * 20) # un = my_set1.union(my_set2) # print("并集", un) # new_un = my_set1 | my_set2 # print(new_un) ######################################################### # #小练习 # strings_owner = input("请输入一些字符:") # #首先去重 # new_str = set(strings_owner) # print(new_str) # # for chr in strings_owner: # # #统计当前字符的个数 # # count_string = strings_owner.count(chr) # # print("字符%s出现的次数为:%d"% (chr, count_string)) # for chr in new_str: # #统计当前字符的个数 # count_string = strings_owner.count(chr) # print("字符%s出现的次数为:%d"% (chr, count_string)) # print("==" * 20) ############################################################ #字典 #创建一个空字典 # dict_01 = {} # dict_01 = {"name":"死神", "age":10, "addr":"上海市长宁区娄山关路588号"} # print(dict_01) # # print(dict_01.keys()) # # print(dict_01.values()) # # print(dict_01["name"]) # # print(dict_01["age"]) # #添加、修改字典中的元素 # dict_01["sex"] = "M" # print(dict_01) # #字典中的key,,不允许重复,如果添加的key与之前存在的重复,则添加的会将之前的值覆盖 # dict_01["sex"] = "F" # print(dict_01) #字典的合并 # dict_01 = {"name":"sishen", "age":23} # dict_02 = {10001:12345, 10002:21314, "name":"xueji"} # dict_01.update(dict_02) # print(dict_01 ) #del删除元素 # del dict_01[10001] # print(dict_01) #清空字典 # dict_01.clear() # print(dict_01) # print(dict_01.items()) ####判断键值是否在字典中 # if "ID" in dict_01.keys(): # print("ID存在") # else: # print("ID 不存在!") # if 23 in dict_01.values(): # print("23存在!") # else: # print("23不存在!") #####遍历字典 # for key in dict_01.keys(): # print(key,end="-") # print("") # print("+++"*20) # for val in dict_01.values(): # print(val, end="-") # print("") # print("==="*20) #####遍历键值对 # for key, value in dict_01.items(): # print("%s:%s"% (key, value), end=" ") ####### 函数 #没有参数,没有返回值的函数 #定义函数 # def first_function(): # print("Hello,Python!") # #调用函数 # first_function() #有参数没有返回值的函数 # #msg 形参 # def show_message(msg): # print(msg) # #调用带参数的函数 # s = "Hello,Python!" # #s 实参 # show_message(s) # show_message("hello Python") # #两个参数的情况 # def print_message(msg1, msg2): # result = msg1 + msg2 # print(result) # print_message("hello", "Python") #注意参数数据类型要一致 #有参数有返回值 # def my_add(a, b): # result = a + b # #使用return返回一个数据 # return result #如果return关键字后面没有任何参数,这种情况会直接种植函数的执行,且不返回结果 # my_result = my_add(10, 20) # print("result = %d" % my_result) #函数调用方式 # def my_sum(a, b, c): # print("a = %d" %a) # print("b = %d" %b) # print("c = %c" %c) # return a + b + c # #1,直接从左向右传递参数 # result = my_sum(10, 20, 30) # print("return = %d" % result) # #2.指定参数位置 # result = my_sum(a=30, b=2, c=12) # print("result = %d" % result) #多个返回值的函数 # def max_min_function(a, b, c): # #定义变量保存最大值 # max_value = a # #定义变量保存最小值 # min_value = a # # if max_value < b: # max_value = b # if max_value < c: # max_value = c # if min_value > b: # min_value = b # if min_value > c: # min_value = c # return min_value, max_value # my_min, my_max = max_min_function(10, 20, 3) # print("最小值:%d 最大值:%d" % (my_min, my_max)) # # #有默认参数的函数 # def my_sum(a = 100, b = 200): # return a + b # result = my_sum() # print(result) # result = my_sum(20, 30) # print(result) #不定长参数函数 # def my_temp_function(*num): # #pass #什么都不执行使用pass # #print(type(num)) # my_sum = 0 # for value in num: # #print(value, end=",") # my_sum = my_sum + value # #print() # return my_sum # result1 = my_temp_function() # result2 = my_temp_function(1) # result3 = my_temp_function(1, 3, 50) # result4 = my_temp_function(2, 4, 60, 100, 200) # print(result1) # print(result2) # print(result3) # print(result4) #不定长函数,字典 def dict_function(**num): #print(type(num)) # print(num) #配合result5会打印出一个字典 print("num['a'] = %d" % num["a"]) print("num['b'] = %d" % num["b"]) print("num['c'] = %d" % num["c"]) # t = num.values() #输出字典中的值 # print(t) # t = num.keys() #输出字典中的所有的键 # print(t) t = num.items() #输出键值对 print(t) result5 = dict_function(a = 1, b = 20, c = 30) ################################################################################################################################# def my_test_function(a, *b, **c): #注意:0星参数必须在1星参数之前,1星参数必须在2星参数之前,这里如果写成my_test_function(a, **c, *b)就会报错 print("a = %d" % a) print("b = ", end="") for value in b: print(value, end=" ") print() print("c = ",end="") for key, value in c.items(): print("%s:%s" % (key, value), end="") #使用此函数的前提至少需要传一个参数 my_test_function(10, 20, 30, 40, a1 = 50, b1 = 60)
06-10
#函数嵌套案例 #首先显示用户当前余额 #输入竞猜数字,要求对输入数字进行校验 #输入竞猜金额,并对账户余额进行合法性校验 #系统随机产生竞猜数字 #判断胜负 #计算当前账户余额 #导入随机数模块 import random user_name = "sishen" user_money = 100000 #显示用户信息 def show_user(): print("玩家姓名:%s账户余额:%d" % (user_name, user_money)) #输入竞猜数字 def input_quiz_number(): #保存竞猜数字 my_num = 0 while True: #请输入竞猜数字 quiz_number = input("请输入竞猜数字:") #判断输入的是否为数字 if quiz_number.isdigit(): #类型转换 quiz_number = int(quiz_number) #判断输入的数字是否合法 if 0<= quiz_number <= 9: my_num = quiz_number break else: print("请输入0-9范围内的数字!") else: print("Sorry!输入的有误,请重新输入") #返回竞猜数字 return my_num #输入竞猜金额 def input_quiz_money(): #保存竞猜金额 my_money = 0 while True: print("请输入竞猜金额(1-%d):" % user_money, end="") quiz_money = input() if quiz_money.isdigit(): quiz_money = int(quiz_money) if 1 <= quiz_money <= user_money: my_money = quiz_money break else: print("您输入的金额应该在1-%d范围内!" % user_money) else: print("您输入的有误,请重新输入!") return my_money #产生随机数字 def system_random_number(): return random.randint(1,9) #判断胜负 def judge_the_outcome(quiz_number, quiz_money, system_random_number): #显示系统产生的随机数 print("系统产生的随机数为:%d,您的竞猜数字为:%d" % (system_random_number, quiz_number)) global user_money if quiz_number == system_random_number: print("您猜中了!获得%d元!" % (quiz_money * 2)) user_money = user_money + quiz_money * 2 else: print("好可惜哦!您钱包减少了%d元!" % quiz_money) user_money = user_money - quiz_money #计算当前余额 def calculate_account_balance(): pass #游戏开始 def games_start(): #显示当前回合 round = 1 while user_money > 0: print("当前是第%d回合" % round) #显示用户信息 show_user() #输入竞猜数字 quiz_number = input_quiz_number() #输入竞猜金额 quiz_money = input_quiz_money() #产生随机数字 random_number = system_random_number() #判断胜负 judge_the_outcome(quiz_number, quiz_money, random_number) #计算当前余额 calculate_account_balance() #回合数加1 round += 1 print("==" * 20) #启动程序 games_start()
函数
# def a_function(): # print("a function 1") # print("a function 2") # print("a function 3") # print("a function 4") # # def b_function(): # print("b function 1") # print("b function 2") # a_function() # print("b function 3") # print("b function 4") # def c_function(): # print("c function 1") # print("c function 2") # b_function() # print("c function 3") # print("c function 4") # def d_function(): # print("d function 1") # print("d function 2") # c_function() # print("d function 3") # print("d function 4") # # c_function() #递归函数,自己调用自己 #递归函数必须有退出条件 # def recursive_function(): # print("hello python 1") # print("hello python 2") # print("hello python 3") # print("hello python 4") # recursive_function() # recursive_function() #递归函数 # def print_number(value): # #退出条件 # if value == 0: # return # print_number(value-1) # print(value, end="=") # print_number(3) # print() # print("++" * 20) # print_number(10) ##实现1-5累加和 # def print_number(value): # #退出条件 # if value == 0: # return 0 # result = value + print_number(value - 1) # print(result) # return result # # print_number(5) #匿名函数 # def my_add(a, b): # return a + b # result = (lambda a, b: a + b)(10, 12) # print(result) # # lambda_function = lambda a, b: a + b # result = lambda_function(10, 11) # print(result) ############################################# students_info = [["张三", 20], ["王五", 23], ["赵六", 24], ["apple", 10], ["huawei", 20], ["xiaomi", 15]] # print(students_info) # students_info.sort() # print(students_info) # #按年龄由大到小排列 # students_info.sort(key=lambda student:student[1]) # print(students_info) # #按名字排列 # students_info.sort(key=lambda student:student[0]) # print(students_info) #按年龄排序 # def my_sort(student): # return student[0] # students_info.sort(key=my_sort) # print(students_info) ################################################# # def sort_function(key, num): # result = key(num) # return result # result = sort_function(key=lambda x:x * 2, num=100) # print(result) ################################################# #可变和不可变类型 #引用即对象的别名 #不可变类型就是指通过引用不能修改对象的值 #在Python中可变类型只有两种:列表和字典 # a = 11 # print(id(a)) # a = 22 # print(id(a)) # # help(id) # string = "abcd" # print(id(string)) # string = "1234" # print(id(string)) # a1 = 10 # a2 = 10 # print(id(a1)) # print(id(a2)) # a2 = 11 # print(id(a2)) ########################################### #可变类型 列表 # list_1 = [1, 3, 5, 7] # print(list_1) # print(id(list_1)) # list_1[0] = 100 # print(list_1) # print(id(list_1)) ############################################# #不可变类型 # def my_function(pargram): # print(id(pargram)) # pargram += 1 # print(pargram) # my_numbers = 100 # my_function(my_numbers) # print(my_numbers) # ########################################## # def temp_function(my_lists): # my_lists[0] = 100 # # a = [1, 3, 5] # print(id(a)) # temp_function(a) # print(a) # int_lists = [100, 20, 32, 24, 55, 60, 27] # int_lists.sort() # print(int_lists) ################################################### #员工管理系统 #1.添加员工 #2.显示员工 #3.删除员工 #4.退出系统 ###字典保存全部变量 workers = {} #员工编号 workers_id = 1000 #菜单选择 def show_menu(): print("1. 添加员工") print("2. 显示员工") print("3. 删除员工") print("4. 退出系统") operation = input("请输入您的操作:") return operation #添加员工 def add_worker(): worker_name = input("请输入员工姓名:") worker_age = input("请输入员工年龄:") worker_salary = input("请输入员工薪资:") #保存员工信息到字典中 workers_dict = {} workers_dict["name"] = worker_name workers_dict["age"] = worker_age workers_dict["salary"] = worker_salary #将员工信息插入到workers中 global workers_id workers[workers_id] = workers_dict workers_id += 1 #显示员工信息 def show_workers_info(): for key, value in workers.items(): print("工号:%d 姓名:%s 年龄:%s 工资:%s" % (key, value["name"], value["age"], value["salary"])) #删除员工 def del_worker(): del_id = input("请输入要删除的员工编号:") #判断输入的编号是否合法 del_id = int(del_id) if del_id in workers.keys(): print("编号为%d的员工被删除" % del_id) del workers[del_id] else: print("编号为%d的员工不存在!" % del_id) #员工管理系统 def management_workers_system(): print("欢迎使用员工管理系统v1.0") while True: #1.显示菜单选项 operation = show_menu() if operation == "1": add_worker() elif operation == "2": show_workers_info() elif operation == "3": del_worker() elif operation == "4": print("欢迎下次使用员工管理系统!") break else: print("输入有误,请重新输入!") #启动程序 management_workers_system()
文件操作
# open打开文件,close关闭文件 # #以读模式打开文件 # file1 = open("test.txt", "r") # #read可以一次性读取文件内容 # content = file1.read() # print(content) # #关闭文件 # file1.close() ######################################################### # #以写模式打开文件 # file2 = open("test1.txt", "w") # #如果test1.txt文件不存在,则会创建该文件 # #将字符写入file2中 # string_1 = "haha,this is new create file!" # file2.write(string_1) # #关闭文件 # file2.close() ######################################################### # read readline readlines # read(n)默认读取所有文件,如果有参数n,表示一次只读n个字符 # readline 一次读取一行内容 # readlines 一次读取所有的内容,返回内容列表,每个元素就是一行内容 # 以读模式打开文件 # file_1 = open("test.txt", "r") # 读取文件内容 # content = file_1.read(5) # print(content) # print("***" * 10) # content = file_1.read(7) # print(content) # print("***" * 10) # content = file_1.read(9) # print(content) # 循环读取文件内容,直至读取完毕 # while True: # conent = file_1.read(5) # #当读到文件末尾的时候,再读就读到空字符串 # if conent == "": # print("文件内容读取完毕:") # break # print(conent, end="") ################################# # 按行读取内容,直至读取完毕 # while True: # line = file_1.readline() # if line == "": # print("文件按行读取完毕了!") # break # print(line, end="") ################################## # 读取所有内容,按行存储在列表中 # my_lines = file_1.readlines() # print(my_lines) # # #关闭文件 # file_1.close() ################################### # #文件的写操作 # file_2 = open("test.txt", "w") # #向文件中添加新内容 # str_1 = "now, insert into test.txt content!" # file_2.write(str_1) # #读取文件中的内容 # content = ["11111111\n", "2222222222\n", "aaaaaaaaaaa\n", "bbbbbbbbb\n"] # file_2.writelines(content) # # #关闭文件 # file_2.close() ########################################### # 指定位置读取文件内容 # file_2 = open("test1.txt", "r") # # print("当前位置:%d" % file_2.tell()) # #设置文件指针到文件开始向右偏移两个字节的位置 # #0开始,1当前,2结束 # #如果使用相对位置1和2的话,文件必须是二进制模式打开 # file_2.seek(2, 0) # #读取四个字节的内容 # content = file_2.read(4) # print(content) # #关闭文件 # file_2.close() ############################################# # 目录操作 import os # 1.创建文件夹 # os.mkdir("PY_create_1") # 2.获取当前工作目录 # print(os.getcwd()) # #3.改变当前目录 # os.chdir("./PY_create_1") # print(os.getcwd()) # #4.创建目录 # # os.mkdir("PY_create_1_1") # print(os.getcwd()) # #改变当前目录 # os.chdir("./PY_create_1_1") # print(os.getcwd()) ############### # 相对路径 # os.mkdir("../workgroup") # os.chdir("../workgroup") # print(os.getcwd()) # 删除目录 # 显示当前目录 # print(os.getcwd()) # #切换目录 # os.chdir("../") # print(os.getcwd()) # #删除目录 # # os.rmdir("workgroup") # #列出当前目录下的所有目录 # dir_list = os.listdir() # print(dir_list) # # os.chdir("cz-python01") # print(os.getcwd()) # print(os.listdir()) # os.chdir("PY_create_1") # # os.rmdir("PY_create_1_1") # print(os.getcwd()) # print(os.listdir()) # os.chdir("../") # print(os.getcwd()) # os.rmdir("PY_create_1") # os.getcwd() ###################### # 重命名 # print(os.getcwd()) # print(os.listdir()) # os.rename("PY_create_1", "PY_create_01") # print(os.listdir()) ##############文件操作案例---文件备份 # 输入需要备份的文件名 # print(os.getcwd()) # print(os.listdir()) # ######################################################################## # file_name = input("请输入文件名:") # # 判断文件名称的合法性 # if not os.path.isfile(file_name): # print("文件路径无效") # else: # # 查找.位置 # position = file_name.rfind(".") # # 查找失败,返回-1 # if position > 0: # file_new_name = file_name[:position] + "_backup" + file_name[position:] # else: # file_new_name = file_name + "_backup" # # # 打开新文件 # new_file = open(file_new_name, "wb") # # 打开拷贝文件 # copy_file = open(file_name, "rb") # # 读取拷贝文件内容 # content = copy_file.read() # # 将拷贝的内容写入到新文件中 # new_file.write(content) # # 关闭文件 # new_file.close() # copy_file.close() # # print("文件备份完毕") ####################################################################### # 输入需要备份的文件名 # file_name = input("请输入文件名:") # #判断路径是否有效 # if not os.path.isfile(file_name): # print("文件路径无效") # else: # #查找.的位置 # position = file_name.rfind(".") # if position > 0: # new_name = file_name[:position] + "_backup" + file_name[position:] # else: # new_name = file_name + "_backup" # ##打开新文件 # new_file = open(new_name, "wb") # #打开拷贝文件 # copy_file = open(file_name, "rb") # content = copy_file.read() # #将拷贝文件的内容写入到新文件中 # new_file.write(content) # #关闭文件 # new_file.close() # copy_file.close() # # print("文件备份完成!") ################################################# ###文件操作案例----批量修改文件名 # 创建目录batch_dir,在batch_dir中创建10个文件file_1..10 import os # os.mkdir("batch_dir") # os.chdir("batch_dir") # for index in range(1, 11): # create_file = open("file_" + str(index), "w") # create_file.close() # print("文件创建完毕") #####批量修改文件 # file_path = "batch_dir" # #获取file_path下的所有文件名称 # file_list = os.listdir(file_path) # print(file_list) # 获取文件路径 # for path in file_list: # original_path = file_path + "/" + path # print(original_path) # # new_path = file_path + "/" + "sishen_" + path # new_path = file_path + "/" + path.replace("sishen_", "") # print(new_path) # #rename修改文件名称 # os.rename(original_path, new_path) # print("批量修改完成") # os.rename(new_path, original_path) # print("批量修改完成") ###########批量删除 # print(os.getcwd()) # print(os.listdir()) # os.removedirs("batch_dir") #非空目录删除会报错 # os.chdir("batch_dir") # print(os.getcwd()) # # print(os.listdir()) # # os.remove("file_1") # # print(os.listdir()) # os.chdir("batch_dir") # # file_path = "batch_dir" #这样写 不知道为什么不对 # file_list = os.listdir() # print(file_list) # for file in file_list: # os.remove(file) # print(os.listdir()) # print("文件删除完成!")