Python课程第四天作业
1.定义一个函数,该函数可以实现控制台输入,最终返回一个int类型的正整数
def chr_to_int():
user_input = input('请输您要转换的字符串:')
if user_input.isdigit():
return int(user_input)
return False
2.定义一个函数,该函数可以实现用户录入,最终返回一个int类型的负整数
def chr_to_neg():
user_input = input('请输您要转换的字符串:')
if user_input.startswith('-') and user_input.split('-')[1].isdigit():
return int(user_input)
return False
3.定义一个函数,实现传入一个数或是字符串,返回值是 是否 是可转换为整数类型的数据
def chr_to_int_neg():
user_input = input('请输您要转换的字符串:')
if user_input.isdigit():
return True
elif user_input.startswith('-') and user_input.split('-',1)[1].isdigit():
return True
return False
4.定义一个函数,实现传入一个整型数字,判断并直接打印该数字是否是奇数还是偶数
def odd_or_even(user_input):
if user_input.isdigit():
if int(user_input) % 2 == 1:
print('是奇数')
else:
print('是偶数')
return False
5.定义一个函数,实现判断传入数据的类型,并直接打印其类型
def judge_type(user_input):
type_list=[str,int,list,set,dict,tuple,float,bool,complex]
for i in type_list:
if isinstance(user_input, i):
print(i)
6.定义一个函数,实现可以重复录入键盘信息,当用户输入q或Q时退出,否则判断是否为可转换为整数类型的数据,可以的话输出该数是奇数还是偶数,否则直接输出该字符串
def digital_conversion():
while True:
user_input = input('请输您的内容:')
if user_input.isdigit():
if int(user_input) % 2 == 1:
print('是奇数')
else:
print('是偶数')
elif user_input.startswith('-') and user_input.split('-',1)[1].isdigit():
if int(user_input) % 2 == 1:
print('是奇数')
else:
print('是偶数')
elif user_input == 'Q' or user_input == 'q':
return 0
else:
print(user_input)
7.定义一个函数,只要传入 "k1:v1,...,kn:vn" 格式的字符串,都可以将其转换为 {'k1':'v1',...,'kn':'vn'}
def str_to_dict(user_input):
x = {}
for i in user_input.split(','):
k, v = i.split(':')
x[k] = v
print(x)
8.定义一个函数,实现列表与元组类型的反转功能
def lsit_and_tuple(user_input):
if isinstance(user_input, tuple):
return list(user_input)
if isinstance(user_input, list):
return tuple(user_input)
9.定义一个函数,可以完成对list、tuple、dict、set四种类型数据的循环变量打印,不是这四种,则打印 "暂不支持该数据遍历"
def list_tuple_dict_set(user_input):
ls=[list,tuple,dict,set]
for i in ls:
if isinstance(user_input,i):
for k in user_input:
print(k)
return
else:
print('暂不支持该数据遍历')
10.定义一个函数,实现对单列集合进行去除的功能
def get_clear(data):
if isinstance(data, set):
return data
temp_list = []
for v in data:
if v not in temp_list:
temp_list.append(v)
if isinstance(data, tuple):
return tuple(temp_list)
return temp_list
11.定义一个函数,实现文件(不一定是文本文件)的跨文件夹的移动
import shutil
def file_mv(source_file,target_dir):
shutil.move(source_file,target_dir)
12..写出完整的装饰器(不⽤考虑带参装饰器,就是普通装饰器)语法
def outer(func):
def inner(*args, **kwargs):
#装饰前操作
res = func(*args, **kwargs)
#装饰后操作
return res
return inner @outer
def func(*args, **kwargs):
pass
13.有⼀个计算两个数和的⽅法,为其添加⼀个确保两个参数都是int或float类型的装饰器,保证运算不会抛异常
def outer(func):
def inner(*args, **kwargs):
for i in args:
if not (isinstance(i,int) or isinstance(i,float)):
print('参数不合法')
return False
res = func(*args, **kwargs)
return res
return inner @outer
def num_sum(a,b):
print(a + b)
14.有⼀个⼀次性录⼊⼈名并返回⼈名的⽅法(⼈名只考虑存英⽂),为其添加⼀个装饰器,使得处理后⼈名⾸字⺟⼀定⼤写
def outer1(func):
def inner(*args, **kwargs):
res = func(*args, **kwargs)
return res.title()
return inner @outer1
def retun_name(name):
return name
Python课程第四天作业的更多相关文章
- Python课程第五天作业
1.利用字典推导式和列表推导式完成数据的相互转化: dic = {'name': 'Owen', 'age': 18, 'gender': '男'} ls = [('name', 'Owen'), ( ...
- python第二十四天-----作业终于完成啦
作业 1, ATM:模拟实现一个ATM + 购物商城程序 额度 15000或自定义实现购物商城,买东西加入 购物车,调用信用卡接口结账可以提现,手续费5%支持多账户登录支持账户间转账记录每月日常消费流 ...
- Python课程第三天作业
一.统计⽂件数据中出现的的所有字符与该字符出现的个数(不区分⼤⼩写,标点与空格也算) ⽂件内容: hello friend, can you speak English! # 结果: { 'h': 1 ...
- BUAA OO 2019 第四单元作业总结
目录 第四单元总结 总 UML UML 类图 UML 时序图 UML 状态图 架构设计 第十三次作业 第十四次作业 课程总结 历次作业总结 架构设计 面向对象方法理解 测试方法理解与实践 改进建议 尽 ...
- oo第四单元作业总结暨课程总结
oo第四单元作业总结暨课程总结 一.本单元作业架构设计 本单元需要构建一个UML解析器,通过对输入的UML类图/顺序图/状态图的相关信息进行解析以供查询,其中课程组已提供输入整体架构及输入解析部分,仅 ...
- OO第四单元作业总结以及课程总结
第四单元总结--UML 第四单元作业架构分析 第一次作业其实是本单元三次作业中最难的一次.由于第一次是第一次作业,要考虑到搭建框架和设计架构,这次作业的思维性很强.在了解了各个类型元素(Element ...
- 【OO学习】OO第四单元作业总结及OO课程总结
[OO学习]OO第四单元作业总结及OO课程总结 第四单元作业架构设计 第十三次作业 第十四次作业 总结 这两次作业架构思路上是一样的. 通过将需要使用的UmlElement,封装成Element的子类 ...
- 北航OO第四单元作业总结(4.1~4.3)及课程总结
前言 在学习过JML规格描述语言之后,本单元进行了UML(Unified Modeling Language)的学习.和JML单纯用语言描述的形式不同,UML通过可视化的图形形式,对一系列有关类的元素 ...
- 2019OO第四单元作业总结&OO课程整体总结
第四单元作业总结 第四单元的作业主题是UML图的解析,通过对UML图代码的解析,我对UML图的结构以及各种元素之间的关系的理解更加深入了. ------------------------------ ...
随机推荐
- 学习笔记 Optional
今天学习到的一种新的防止空指针的方法下面是我自己写的一个例子:节省空间,bean的get set 省略... /** * 类目 * @author 唐 * @date 2018/5/6 17:45 * ...
- Lock详解
在JDK1.5后,并发包里新增了Lock接口以及其实现类来实现锁功能,它提供了与synchronized关键字类似的锁功能,但它需要手动开启.关闭锁.虽然看起来没有synchronized方便,但它可 ...
- 光照构建失败。Swarm启动失败
这是别人(http://blog.csdn.net/z609932088/article/details/52368015)写的,亲试可用 如下图 百度许久,有大神指出是我在编译源码的的时候没有将其中 ...
- python unittest框架
四个部分: test fixture A test fixture represents(代表) the preparation needed to perform one or more tests ...
- 易忽视的Python知识点
1.sort和sorted (1)sort:会直接修改原始列表的序列,只是排序,不去重. >>> a=[2,5,7,8,3,5,1,3,9,6,2] >>> a.s ...
- AE插件:能量激光描边光效特效Saber Mac汉化版
与大家分享一款非常好用的AE插件Saber插件汉化版.videocopilot saber是一款能量激光描边光效特效AE插件,可以帮助用户制作出能量激光.传送门.霓虹灯.电流.光束.光剑等效果.小编现 ...
- Linux 命令备忘
1.查看所有正在运行的进程:ps -A 2.运行一个可执行文件(切换到目标目录下,LinuxProject3为可执行文件名):./LinuxProject3
- zabbix 4.2 支持 timescledb 了
zabbix 4.2 已经发布了, 添加了好多新功能 支持prometheus 数据收集 支持timescaledb 支持http header 处理 更加友好的邮件通知格式 添加远程监控组件 简化标 ...
- 03机器学习实战之决策树CART算法
CART生成 CART假设决策树是二叉树,内部结点特征的取值为“是”和“否”,左分支是取值为“是”的分支,右分支是取值为“否”的分支.这样的决策树等价于递归地二分每个特征,将输入空间即特征空间划分为有 ...
- delphi 多线程之 TEvent 和 TLightweightEvent
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ...