2019.07.19(day06)学习作业(编程)

day06 HomeWork

题目一:

1.定义一个函数,该函数可以实现在内部输入一个信息,如何该信息不能转换为正整数,则重新输入,直到能转换为正整数,则对外返回转换的正整数

def get_int():
    while True:
        data =input('请输入一个数:')
        if data.isdigit():# 判断输入的数是不是数字
            return int(data)
res = get_int()
print(res)

2.定义一个函数,该函数可以实现在内部输入一个信息,如何该信息不能转换为负整数,则重新输入,直到能转换为负整数,则对外返回转换的负整数

def get_int():
    while True:
        data = input('data: ')
        if data.isdigit():
            return int(-1*data)
        elif data.startswith('-') and data[1:].isdigit() and data.count('-') == 1:
            num = data.split('-')[1]
            if num.isdigit():
                return int(data)
            else:
                num = data.split('.')
                num = str(num[0])
                return num
        else:
            num = data.split('.')
            num=str(num[0])
            return int(num)*-1
res = get_int()
print(res)

3.定义一个函数,实现外界传入一个信息,内部判断是否能被转换为正整数,返回True | Flase信息

def get_int():
    data=input('data:')
    if data.startswith('-') and data[1:].isdigit() and data.count('-') == 1:
        return True
    if data.isdigit():
        return True
    else:
        return False
res = get_int()
print(res)

4.定义一个函数,实现外界传入一个信息,内部判断是否能被转换为负整数,返回True | Flase信息

def get_int():
    data = input('data:')
    if data.startswith('-') and data[1:].isdigit() and data.count('-') == 1:
        return True
    if data.isdigit():
        return True
    if '.'in data:
        return True
    else:
        return False
res = get_int()
print(res)

5.定义一个函数,实现传入一个整型数字,判断并直接打印该数字是否是奇数还是偶数

def get_int(data):
    if data%2 ==0:
        print('data是个','偶数')
    else:
        print('data是个', '奇数')
get_int(101)

6.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

def get_list(data):
    res=[]
    ls=['xichen','beautiful','xuchen','height','weight']
    if data > 2:
        print(ls[:2])
        return ls[2:]
    else:
        print(ls)
res=get_list(3)
res=get_list(2)

7.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。

def get_list(data):
    ls = [ ]
    for i in range(len(data)):
        if i % 2 == 1:
            ls.append(data[i])
    print(ls)
data = ['xu','chen','cheng','yu','cheng','xing']
res = get_list(data)

8.定义一个函数,只要传入 "k1:v1,...,kn:vn" 这样固定格式的字符串,都可以将其转换为 {'k1':'v1',...,'kn':'vn'}这样的字典并返回

def get_dict(data):
    dic1 = dict()
    ls = t.split(',')
    for i in ls:
        ls2=i.split(':')
        dic1[ls2[0]]=ls2[1]
    print(dic1)
t="k1:v1,k2:v2,k3:v3,k4:v4,kn:vn"
get_dict(t)

9.简单购物车,要求如下 (可以用函数也可以不用):# 实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入,购买成功后打印添加到购物车里的信息.

def get_yes():
    while True:
        ls=[]
        msg_dic={'apple':10,'tesla':100000,'mac':3000,'lenovo':30000,'chicken':10,}
        for i in msg_dic.items():
            tu=i
            print('name:',tu[0],'price:',tu[1])
        for i in msg_dic.items():
            name = input('商品>>:')
            num = input('购买个数>>:')
            if name in msg_dic and num.isdigit():
                ls.append((name, msg_dic[name], num))
                print(ls)
            else:
                continue
res=get_yes()
print(res)
上一篇:DAY06


下一篇:Python学习Day06