lst=[1,3,5,7,8,25,4,20]
def find_balance_point(l):
if not isinstance(l,list):
return -1
result={}
for i in range(len(l)):
if sum(l[:i])==sum(l[i+1:]):
result[l[i]]=i
return result
print(find_balance_point(lst))
lst=[3,3,1,2,3]
def find_point(l):
if not isinstance(l,list):
return -1
result_point=[]
for i in l:
if l.count(i)>len(l)//2:
result_num=i
for i in range(len(l)):
if l[i]==result_num:
result_point.append(i)
return result_num,result_point
print(find_point(lst))
c_dict={"C001":"book","C002":"phone","C003":"milk"};
pric_dict = {"C001":4,"C002":100,"C003":8}
salary=int(input("请输入工资:"))
print("商品列表:")
for k,v in c_dict.items():
for k1,v1 in pric_dict.items():
if k==k1:
print("商品编号%s 商品名称%s 商品单价%s" %(k,v,v1))
buy_dict={} #已购买的商品和数量
while True:
if salary<4:
print("对不起,您的工资余额小于商品最小单价,已不足以支付任何商品!")
print("您已购买的商品和数量:",buy_dict)
print("您的工资余额为%s元" %salary)
break
id=input("请输入商品编号,若想离开请输入'bye':")
if id=="bye":
print("您已购买的商品和数量:",buy_dict)
print("您的工资余额为%s元" %salary)
print("谢谢您的光临!")
break
if id not in c_dict.keys():
print("对不起,您所输入的商品编号不存在,请重新输入:")
continue
print("您输入的商品编号为%s,名称为%s,单价为%s" %(id,c_dict[id],pric_dict[id]))
if salary>=pric_dict[id]:
salary=salary-pric_dict[id]
print("%s商品已购买成功,工资余额为%s" %(c_dict[id],salary))
if id not in buy_dict.keys():
buy_dict[id]=1
else:
buy_dict[id]+=1
else:
print("对不起,您的工资余额已不足以支付您要购买的商品,请重新输入商品编号!")
print("您已购买的商品和数量:",buy_dict)
print("您的工资余额为%s元" %salary)
continue
str_list=['*','3','*','5','10','9','7','1','*']
str1="*"
str2="9"
def find_min_distance(l,str1,str2):
if not isinstance(l,list):
return None
if (str1 not in l) or (str2 not in l):
return -1
if str1==str2:
return 0
str1_str2_distance=[]
str1_index=[]
str2_index=[]
for i in range(len(l)):
if l[i]==str1:
str1_index.append(i)
if l[i]==str2:
str2_index.append(i)
print("%s的坐标为%s" %(str1,str1_index))
print("%s的坐标为%s" %(str2,str2_index))
for i in str1_index:
for j in str2_index:
str1_str2_distance.append(abs(i-j))
return min(str1_str2_distance)
print("%s与%s的最小距离是%s" %(str1,str2,find_min_distance(str_list,str1,str2)))