版权声明:本文为博主原创文章,未经博主允许不得转载。 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()