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图的结构以及各种元素之间的关系的理解更加深入了. ------------------------------ ...
随机推荐
- Javascript仿贪吃蛇出现Bug的反思
bug现象: 图一
- 代码中设置color的selector
//应该用getColorStateList这种方式 xml中设置时直接color引用就可以了 textView.setTextColor(getResources().getColorStateLi ...
- Learning Structured Representation for Text Classification via Reinforcement Learning 学习笔记
Representation learning : 表征学习,端到端的学习 pre-specified 预先指定的 demonstrate 论证;证明,证实;显示,展示;演示,说明 attempt ...
- JVM垃圾收集器-Parallel Scavenge收集器
今天我给大家讲讲JVM垃圾收集器-Parallel Scavenge收集器 Parallel Scavenge收集器 Parallel Scavenge收集器也是一个新生代收集器,它也是使用复制算法的 ...
- leetcode 刷题(3)--- 无重复字符的最长子串
给定一个字符串,找出不含有重复字符的最长子串的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 ...
- js 实现仿 淘宝 五星评价 demo
<style> @font-face { font-family: 'iconfont'; /* project id 247957 */ src: url('//at.alicdn.co ...
- AX3298添加新sensor
这是编译的工程目录. 1,先把sensor对应的驱动比如GC1034.c添加到工程.然后编译成库.会在res目录下生产sensor.bin文件 流程:编译后在debug目录生成 elf 文件AX329 ...
- the status bar issue of react-native Modal on Android ( RN v0.57.0)
Problem: When use Modal in react-native, the status bar is not included if you make a full-screen ma ...
- OO第一次博客作业(第一单元总结)
Q:菜是绿的,鸡是黄的,那菜鸡是什么颜色的? A:红的,强测全WA了,能不红么. 菜不菜的问题先不说了,认真研究一下这次的题目,以及WA的原因吧. 程序结构简析 三次实验的核心结构都是差不多 第一次的 ...
- Mac OS环境下DOSBox汇编环境的搭建
平台: mac 工具: DOSBox(点击下载DOSBox官网) debug.edit.link.masm等等(点击下载masm汇编开发工具,提取码: skc8) 步骤: 1 .安装DOSBox: 解 ...