列表的使用

python评委打分代码怎么写 python五个评委打分_python评委打分代码怎么写


案例一、

"""
    作者:张三
    功能:演唱会评分
          规则:十分制,五个评委,去掉一个最高分、最低分,加上观众评分
    版本:1.0
    日期:10/26/2021
"""
import random
scores = []   #用来存放各个评委评分
for i in range(5):
    # 逐个输入评委评分,输入提示格式为:“请输入第?个评委评分(10分制):”
    # 将评委评分追加到评分列表
    x=input("请输入第{}个评委评分(10分制):".format(i))
    x=eval(x)
    scores.append(x)
# 去掉一个最高分,去掉一个最低分
scores.sort()
min_score=scores[0]
scores.pop()
scores.reverse()
max_score=scores[0]
scores.pop()
j=0
s=0
for i in range(1000):
    j=random.randint(0,10)
    print(j)
    scores.append(j)

final_score = sum(scores)/len(scores)
print('去掉一个最高分{}分,去掉一个最低分{}分,该歌手最后得分{}分'.
      format(max_score,min_score,final_score))

案例二、

"""
    作者:张三
    功能:实现基金定投(AIP)的收益计算
          基金定期定额投资的微笑曲线:指投资者在股市下跌时仍坚持基金“定投”(定期投入相同金额,如每月8日买入2000元),
          积累更多廉价筹码(更多份额),待股市上涨至“止盈点”(比如基金涨幅30%)时赎回。
          假设投资曲线为:f = 0.0008 * (x - 17)**2 + 0.8599   (此处为模拟,真正的基金净值可通过网络爬虫从网上获得)
                     公式说明:x为投资的第x个月份,f为当前月份指定日期的基金净值
          每期净值和投资份额(每一期份额=当期购买金额/当期净值)用列表存储
          累计投资总份额,然后得到期末资产=份额 * 当期净值
    版本:1.0
    日期:3/15/2022
"""
import math
def main():
    net_value = []      # 基金净值列表
    fund_share = []     # 基金份额列表
    num = int(input("请输入您每月定投的金额(单位:元):"))
    invest_month = int(input("请输入定投投资的月数:"))
    # 任务1:追加完成基金净值列表和基金份额列表中的数据
    for i in range(invest_month):
        net_value_f=0.008*pow(i-17,2)+0.8599
        net_value.append(net_value_f)
        fund_share.append(round(num/net_value_f,2))
    print( net_value_f)
    print(fund_share)
    fund_share_sum = sum(fund_share)                    # 期末总基金份额
    ending_assets = fund_share_sum * net_value[-1]      # 期末资产
    earnings = ending_assets - num * invest_month       # 期末收益
    print("您定投月份为{:*^6}月,总投资{:^10,}元,投资的份额为:{:^10,.2f}".format(invest_month, num * invest_month, fund_share_sum))
    print("您投资基金的当前净值为每份{}元,期末资产为{:^10,.2f}元,".format(net_value[-1], ending_assets))
    print("期末收益为{:^10,.2f}元,收益率为:{:.2f}%".format(earnings, earnings/(num * invest_month)*100))

if __name__ == '__main__':
    main()

关于列表的操作

import random
x="djhksgla gahdghf"
x.find("hjds")
print( x.find("hjds"))            """找到有该字符串的第一个位置   ,没有则返回-1  """
x="djhksgla gahdghf"
x.find("jhk")
print( x.find("jhk"))

""" 这里结果是  1 """


x=[1,2,3,355,112,3333]
x = x[3:] + x[:3]
print(list(range(6))[::2])
x = [3, 5, 7]
x[len(x):] = [1, 2]
x, y, z = sorted([1, 3, 2])
"""从小到大排"""
print(x)
x = [[1,3,3], [2,3,1]]
print( sorted(x, key=lambda item:item[0]+item[2]) )
x = [8, 55, 111]
print(x.sort(key=lambda x: len(str(x)), reverse=True) )

list =random.sample(range(10), 20)
print(random.sample(range(10), 20))
"""
"""
import random
x = list(range(10))
print(x)
del x[::2]
print(x)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 3, 5, 7, 9]
x =3==3, 5
print(x)

x = [1, 2]
y = x
y.append(3)
print(list('[1, 2, 3]') )