CZ-python01-06

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("文件删除完成!")

 

posted on 2018-07-25 10:44 Lucky_7 阅读(...) 评论(...) 编辑 收藏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值