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 == "":
- add_worker()
- elif operation == "":
- show_workers_info()
- elif operation == "":
- del_worker()
- elif operation == "":
- 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("文件删除完成!")
CZ-python01-06的更多相关文章
- 《HelloGitHub月刊》第06期
前言 <HelloGitHub>月刊做到第06期了(已经做了6个月了),在GitHub上获得了100+的stars,虽然不多,但是我很知足了,说明有人觉得这个项目是有价值的.同时园子中的' ...
- iOS系列 基础篇 06 标签和按钮 (Label & Button)
iOS系列 基础篇 06 标签和按钮 (Label & Button) 目录: 标签控件 按钮控件 小结 标签和按钮是两个常用的控件,下面咱们逐一学习. 1. 标签控件 使用Single Vi ...
- javaSE基础06
javaSE基础06 一.匿名对象 没有名字的对象,叫做匿名对象. 1.2匿名对象的使用注意点: 1.我们一般不会用匿名对象给属性赋值的,无法获取属性值(现阶段只能设置和拿到一个属性值.只能调用一次方 ...
- 异步编程系列06章 以Task为基础的异步模式(TAP)
p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提 ...
- javascript基础06
javascript基础06 splice var del_arr = del.splice(0,2); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返 ...
- Linux 第06天
Linux 第06天 1.SAMBA服务器————(linux和windows的文件共享) 1.1 安装 yum install samba -yum 1.2 配置文件 /etc/samba/smb. ...
- plsql11.06注册码
plsql11.06注册码:Product Code(产品编号):4t46t6vydkvsxekkvf3fjnpzy5wbuhphqzserial Number(序列号):601769password ...
- shell脚本中的几个括号总结(小括号/大括号/花括号)--from:http://www.cnblogs.com/hanyan225/archive/2011/10/06/2199652.html
在Shell中的小括号,大括号结构和有括号的变量,命令的用法如下: 1.${var}2.$(cmd)3.()和{}4.${var:-string},${var:+string},${var:=stri ...
- VMware10.06精简版安装后台运行
VMware10.06精简版安装时会出现一个安装功能选择菜单,里面有一条后台运行必选功能,一般人会跳过条.当你打算在服务器上用vmware时,一定要安装后台运行服务,否则你无法换出正在运行的后台虚拟机 ...
- 驱动开发学习笔记. 0.06 嵌入式linux视频开发之预备知识
驱动开发读书笔记. 0.06 嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB v ...
随机推荐
- web 前端冷知识
前端已经被玩儿坏了!像console.log()可以向控制台输出图片等炫酷的玩意已经不是什么新闻了,像用||操作符给变量赋默认值也是人尽皆知的旧闻了,今天看到Quora上一个帖子,瞬间又GET了好多前 ...
- UDP 端到端
创建发送端 1.建立DatagramSocket对象,该端点建立,系统会随机分配一个端口,如果不想随机分配,可手动指定. 2.将数据进行packet封装,必须指定目的地址和端口. 3.通过socket ...
- org.eclipse.swt.SWTError: No more handles的解决办法
今天装了JBoss Tools 3.1 插件后,eclipse 打开jsp文件老是报错,或者要我关闭: org.eclipse.swt.SWTError: No more handles 网上找了两个 ...
- IE8 下背景图标不显示
如图所示 : 微博微信前方各应有个图标,但是IE8下图标没有显示 css如下 .weibo_icon{background: url(../ieImages/weibo_icon.png)no-rep ...
- HDU 5651xiaoxin juju needs help
xiaoxin juju needs help Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/ ...
- C语言一个单链表的实现
-- 所谓链表记住一句即可:地址不连续,大家只是握个手而已: list0.c #include<stdio.h> #include<malloc.h> typedef int ...
- chmod更改文件的权限
#include "apue.h" int main(int argc,char *argv[]) { struct stat stabuf; ) err_sys("st ...
- dedecms中去除首页index.html的方法
本文介绍了dedecms中去除首页index.html的方法,有需要的朋友参考下. dedecms织梦cms建站程序输入地址后,而打开的实际地址后面有个index.html. 这里分享下两种解决方 ...
- css中链接的4个状态 link、visited 、hover、active 顺序与设置
link 未点时链接色visited 已点过的链接色hover 光标放入链接上的色active 点击时的样式 顺序一定要按link.visited.hover.active来设置 ...
- jsp重写url
众所周知,使用java web编程出来的网站都是.jsp结尾的,而别人的网站都是以.html结尾的,那么这种效果是怎么实现的呢?就是这篇文章产生的原因,jsp重写url需要设计到第三方架包urlrew ...