python习题-2
2021-04-13 03:26
16:请写一个函数,该函数 参数为一个字符串,请验证该字符串是否是一个合法的电话号码,合法返回True,否则返回False规则如下
? 该字符串必须全部都是数字。
? 该字符串长度为11位。
? 该字符必须以数字1开头。
比如validate_phone("13423445566") ? Truevalidate_phone(".23rfs") ? False
17.为了训练即将到来的马拉松,小明每周进行一次长跑。如果一周比上周跑的里程多,这周就是被称之为 进展周写一个函数progress_weeks,该函数参数是每周长跑的里程列表,这个函数要并返回共有几个进展周。比如progress_weeks([3, 4, 1, 2]) ? 2# 因为(3->4) 和 (1->2) 这两次是提高了progress_weeks([10, 11, 12, 9, 10]) ? 3思路:1、首先遍历此列表 不超过此列表的长度2、然后判断后一个比前一个是否大,大则加一
18.写一个函数concat,该函数参数是n个列表,这个函数要将这n个列表拼接起来并返回。 注意n个数是不确定的。比如
concat([1, 2, 3], [4, 5], [6, 7]) ? [1, 2, 3, 4, 5, 6, 7]
concat([1], [2], [3], [4], [5], [6], [7]) ? [1, 2, 3, 4, 5, 6, 7]
concat([1, 2], [3, 4]) ? [1, 2, 3, 4]
concat([4, 4, 4, 4, 4]) ? [4, 4, 4, 4, 4]
19.写一个函数replace,该函数参数是两个字符串,第一个参数给出一个源,第二个参数是指定范围。
要求该函数将 第一个参数里面的字符串中 落在第二个参数指定范围内的字符串替换为 # 号比如replace("abcdef", "c-e") ? "ab###f"replace("rattle", "r-z")
? "#a##le"replace("microscopic", "i-i") ? "m#croscop#c"replace("", "a-z") ? "
20.写一个函数alphabet_index,该函数参数是1个字符串,要求该函数返回一个新字符串,里面是 参数字符串中每个字母依次对应的 数字。如果是非字母,则忽略它字母"a" 和"A" 都对应 1, "b"和"B"都对应2, "c"和"C"对应3,
依次类推比如alphabet_index("Wow, does that work?")? "23 15 23 4 15 5 19 20 8 1 20 23 15 18 11"alphabet_index("The river stole the gods.")?
"20 8 5 18 9 22 5 18 19 20 15 12 5 20 8 5 7 15 4 19"alphabet_index("We have a lot of rain in June.")? "23 5 8 1 22 5 1 12 15 20 15 6 18 1 9 14 9 14 10 21 14 5"
21.写一个函数keys_and_values,该函数参数是1个字典,要求该函数返回一个列表,里面包含了2个元素也是列表,分别是 字典里面的key 和对应的 value比如keys_and_values({ "a": 1, "b": 2, "c": 3 })? [["a", "b", "c"], [1, 2, 3]]keys_and_values({ "a": "Apple", "b": "Microsoft", "c": "Google" })? [["a", "b", "c"], ["Apple", "Microsoft", "Google"]]keys_and_values({ "key1": True, "key2": False, "key3": True })? [["key1", "key2", "key3"], [True, False, True]
22.自己写一个已经排好序的列表。现输入一个数,要求按原来的规律将它插入列表中。程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
23.python内建数据类型有哪些
整型--int 布尔型--bool 字符串--str 列表--list 元组--tuple 字典--dict
24.如何在一个函数内部修改全局变量
25.列出5个python标准库
os:提供了不少与操作系统相关联的函数
sys: 通常用于命令行参数
re: 正则匹配
math: 数学运算
datetime:处理日期时间
26.fun(*args,**kwargs)中的*args,**kwargs什么意思?
*args, 可变数量参数--会自动封装成元组
**kwargs 关键字可变数量参数---会自动封装成字典、
27.一句话解释什么样的语言能够用装饰器?
函数可以作为参数传递的语言,可以使用装饰器
28.python中生成随机整数、随机小数、0--1之间小数方法
随机整数:random.randint(a,b),生成区间内的整数
随机小数:习惯用numpy库,利用np.random.randn(5)生成5个随机小数
0-1随机小数:random.random(),括号中不传参
29.请用两种方法:用户输入任意两个数字的和,如5+6,求出两个数字的和
30.咱们任意输入一串文字+数字 统计出来数字的个数如‘1234324324fdsaf1fdsaf12‘