习题练习4

习题1

  编写函数,对单词中的字母实现下操作:

    根据参数设置,将单词中的字母转化为大写或者小写

    返回转化之后的单词

def convert(word, low=True):
    if low:
        return word.lower()
    else:
        return word.upper()

w = "Physics"

print(convert(w))
print(convert(w, low=False))

 

习题2

  编写函数,计算平面直角坐标系中两点的距离,函数的参数是两点的坐标

  编写函数,判断某字符串中是否含有指定集合中的字母

def distance(pa, pb):
    import math
    lst = [(x-y)**2 for x, y in zip(pa, pb)]
    d = math.sqrt(sum(lst))
    return d

pa = (1, 2)
pb = (3, 4)
print('d=', distance(pa, pb))

 

习题3

  在字典中有get方法,但是列表中没有。编写函数,对列表实现类似字典中get方法的功能

def get_by_index_1(lst, i, value=None):
    if i < len(lst):
        return lst[i]
    else:
        return value

lst = [1, 2, 3]
while True:
    try:
        idx = int(input('input index of list:'))
    except ValueError:
        print("Index should be int.")
        continue
    value = input('input value:')

    if value != 'q':
        r1 = get_by_index_1(lst, idx, value)
        print(r1)
    else:
        break

 

习题4

  假设有文件名:py10.py,py2.py,py1.py,py14.py,编写对文件名进行排序的函数

import re

def select_numbers(s):
    pieces = re.compile(r'(\d+)').split(s)
    pieces[1::2] = map(int, pieces[1::2])
    return pieces

def sort_filename(filename):
    return sorted(filename, key=select_numbers)

files = ['py10.py', 'py2.py', 'py1.py', 'py14.py']
result = sort_filename(files)
print(files)
print(result)

 

 

 

 

 

 

posted @ 2019-11-03 09:10  python坚持者  阅读(322)  评论(1编辑  收藏  举报