第四周函数基础作业

# 1.定义⼀个函数,该函数可以实现控制台输⼊,最终返回⼀个int类型的正整数
# 解析:如何将字符串转换为int类型的正整数
# def back_int():
# while True:
# num = input("num:")
# if num.isdigit():
# return int(num)
# res = back_int()
# print(res)

# 2.定义⼀个函数,该函数可以实现⽤户录⼊,最终返回⼀个int类型的负整数
# 解析:1.只能有⼀个'-'且以它开头;2.按'-'拆分得到的⼀定是长度为2的列表,且后⾯的数是正整数
# def back_int():
# while True:
# num = input("num:")
# if num.startswith("-") and num.count("-") == 1:
# num_1 = num.split("-")[1]
# if num_1.isdigit():
# return int(num)
# res = back_int()
# print(res)

# 3.定义⼀个函数,实现传⼊⼀个数或是字符串,返回值是 是否 是可转换为整数类型的数据
# 解析:运⽤1,2的逻辑判断
# def is_int(num):
# if isinstance(num,int):
# return True
# if isinstance(num,str):
# if num.isdigit():
# return True
# if num.startswith("-") and num.count("-") ==1:
# num_1 = num.split("-")[1]
# if num_1.isdigit():
# return True
# return False
# print(is_int("-10"))

# 4.定义⼀个函数,实现传⼊⼀个整型数字,判断并直接打印该数字是否是奇数还是偶数
# 解析:解决奇数、偶数的概念即可
# def is_int(num):
# if num % 2 == 1:
# print("奇数")
# else:
# print("偶数")
# is_int(12)

# 5.定义⼀个函数,实现判断传⼊数据的类型,并直接打印其类型
# 解析:如何判断数据的类型
# type_map = {
# int: '整型',
# str: '字符串',
# float: '浮点型',
# complex: '复数',
# list: '列表',
# dict: '字典',
# set: '集合',
# tuple: '元组'
# }
#
# def data_tapy(data):
# if isinstance(data,int):
# print("type - int")
# return
# if isinstance(data,str):
# print("type - str")
# return
# if isinstance(data,float):
# print("type - float")
# return
# if isinstance(data ,complex):
# print("type - complex")
# return
# if isinstance(data , list):
# print("type - list")
# return
# if isinstance(data ,dict):
# print("type - dict")
# return
# if isinstance(data ,set):
# print("type - set")
# return
# if isinstance(data ,tuple):
# print("type - tuple")
# return
#
# res = [1,"2",7.90,4+2j,[],{},{1,2},(1,2)]
# for v in res:
# data_tapy(v)

# 6.定义⼀个函数,实现可以重复录⼊键盘信息,当⽤户输⼊q或Q时退出,否则判断是否为可转换为整数类型的数据,
# 可以的话输出该数是奇数还是偶数,否则直接输出该字符串
# 解析:要调⽤3,4题结果
# def is_int():
# while True:
# num = input("num:")
# if num == "q" or num == "Q":
# return
# def is_int(num):
# if isinstance(num,int):
# return True
# if isinstance(num,str):
# if num.isdigit():
# return True
# if num.startswith("-") and num.count("-") ==1:
# num_1 = num.split("-")[1]
# if num_1.isdigit():
# return True
# return False
# print(is_int("-10"))
# res = is_int(num)
# if res:
# num = int(num)
# def is_int(num):#判断奇数偶数
# if num % 2 == 1:
# print("奇数")
# else:
# print("偶数")
# is_int(12)
# else:
# print(num)
#
# res1 = is_int()
# print(res1)


# 7.定义⼀个函数,只要传⼊ "k1:v1,...,kn:vn" 格式的字符串,都可以将其转换为{'k1':'v1',...,'kn':'vn'}
# 解析:字符串拆分与for循环迭代
# def is_dic(str):
# dic = {}
# k_v_list = str.split(",")
# for k_v in k_v_list:
# k,v =k_v.split(":")
# dic[k] = v
# return dic
# res = is_dic("name:owen,age:18,gender:male")
# print(res)


# 8.定义⼀个函数,实现列表与元组类型的反转功能
# 解析:传⼊列表返回元组,传⼊元组返回列表
# def list_tuple(func):
# if isinstance(func,list):
# return list(func)
# if isinstance(func,tuple):
# return tuple(func)
# #元祖
# # res = list_tuple((1,2,3,4,5))
# #列表
# res = list_tuple([1,2,3,4,5])
# print(res)


# 9.定义⼀个函数,可以完成对list、tuple、dict、set四种类型数据的循环变量打印,不是这四种,则打印 "暂不⽀持该数据遍历"
# 解析:对数据类型做判断
# def is_data(data):
# if isinstance(data , list) or isinstance(data,tuple)or isinstance(data,set):
# for v in data:
# print(v)
# if isinstance(data,dict) :
# for k,v in data.items():
# print(k ,v )
# else:
# print("暂不支持打印")
# # list
# # is_data([1,2,3,4,5])
#
# #str
# is_data("1,2,3,4,5")


# 10.定义⼀个函数,实现对单列集合进⾏去重的功能
# 解析:单列集合有list、tuple、set,传⼊list、tuple、set,返回去重后的list、tuple、set,考虑可变与不可变类型的不同处理





# 11.定义⼀个函数,实现⽂件(不⼀定是⽂本⽂件)的跨⽂件夹的裁剪
# 解析:1.传⼊要读取的⽬标⽂件夹中的⽬标⽂件;2.在被告知的⽬标⽂件夹下复制成同名⽂件;3.调⽤os中删除⽂件的功能将原⽂件删除





# 拓展1:⽤函数实现判断⼀个字符串数据能否转换为正负⼩数
# 先考虑正⼩数,再在基础上考虑负⼩数,可以形成多个⽅法,形成函数的嵌套
# 正⼩数:只包含⼀个⼩数点,左右都是正整数
# 负⼩数:参考普通题的第2题结合正⼩数





# 拓展2:实现汽⻋销售系统
'''
1)具有进货功能1,销售⻋辆功能2,展示所有库存功能3,展示销售总业绩功能4
2)⽤户输⼊0退出系统,输⼊提供的功能编号,完成对应的功能,否则重新输⼊,eg:2就进⼊销售⻋
功能
3)⻋辆信息具有持久化(⽂件永久)存储功能,⻋辆有奔驰|宝⻢|奥迪三款
⽂件信息:
total.txt: 就是记录了总销售额
car.txt:
宝⻢ 120000 9
奔驰 150000 7
奥迪 100000 8
4)进货功能:选择进货的⻋型与数量,完成进货
5)售⻋功能:选择售出的⻋,有库存售出,更新销售总业绩,没有则进⼊进货功能
6)展示库存:显示所有⻋与库存两条信息即可
7)总业绩:显示总业绩⾦额即可
分析:要将total.txt与car.txt转换为合适的数据类型,操作完毕后同步到⽂件中即可
'''

猜你喜欢

转载自www.cnblogs.com/yangyan1123/p/10737380.html