经典的python基础练习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24499745/article/details/88579420

假设市面上有4种面值 硬币,20元、10元、5元、1元。输入一个钱数,能够使用最少的硬币凑成这个钱数。

def mon(money):
    ss = [0,0,0,0]
    coinKinds = [20, 10, 5, 1]
    for i in range(len(coinKinds)):
        if money >= coinKinds[i]:
            if money%coinKinds[i]==0:
                ss[i] = money // coinKinds[i]
                break
            else:
                ss[i] = money // coinKinds[i]
                money = money%coinKinds[i]
    return f"建议使用{ss[0]}张{coinKinds[0]}元",\
           f"{ss[1]}张{coinKinds[1]}元",\
           f"{ss[2]}张{coinKinds[2]}元",\
           f"{ss[3]}张{coinKinds[3]}元"
print(mon(5))

去除列表中的重复元素 两种方式 set,不使用set

    lis = [33, 2, 54, 12, 33]
    # ---------one-------------
    lis = list(set(lis))
    lis.sort()
    print(lis)
    # ------two---------------
    lis1 = []
    for i in lis:
        if i not in lis1:
            lis1.append(i)
    print(lis1)
    # ------Three------------
    for i in range(len(lis[:])-1):
        temp = lis[i]
        for j in range(i+1,len(lis[:])):
            if temp == lis[j]:
                lis.remove(lis[j])
    print(lis)

2.编写一个分页显示类,初始化传入 记录 总数。希望可以通过设置每页记录数和页码,可以显示当前页的信息。

#  其中每页  记录数 与 页码 使用property实现。注意,如果页码设置不正确(如<1或者>最大页码),
# 提示错误信息。设计方法能够返回当前页显示的记录区间。
# Page(20)
# pagesize=5
# # 一共应该有4页
# currenPage=3
# show可以显示第三页的信息
# 这是第11-15条记录
class Show_pages():
    def __init__(self, totalnum):
        self.__totalnum = totalnum
        self.__num = None
        self.__page = None
    def show(self):
        if self.__page > self.__totalnum or self.page < 0:
            print("错误的页码信息")
        else:
            min = self.__page * self.__num - self.__num + 1
            max = self.__page * self.__num
            print(f"<<<<<page:{self.page}>>>>>")
            for i in range(min, max + 1):
                if i <= self.__totalnum:
                    print(f"这是第{i}条数据")
                else:
                    max = i - 1
                    print("预知后事如何,请听下回分解")
                    print("未完待续~~~~~~~~~~~~~~")
                    break
            print(f"这是第{min}-{max}条记录")
    def getnum(self):
        return self.__num
    def getpage(self):
        return self.__page
    def setnum(self, num):
        self.__num = num
    def setpage(self, page):
        self.__page = page
    num = property(getnum, setnum)
    page = property(getpage, setpage)
a1 = Show_pages(95)
a1.setnum(10)
a1.setpage(10)
a1.show()

猜你喜欢

转载自blog.csdn.net/qq_24499745/article/details/88579420