【问题标题】:how to use loop in list inside list如何在列表内的列表中使用循环
【发布时间】:2020-10-25 11:46:10
【问题描述】:

在记录每个参与者的每一轮心跳后,3 名参与者进行 3 轮地面。必须找到每个参与者在 3 轮后的平均心跳。如何编写这个程序。

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 首先:您的意见是什么?您打算以交互方式输入数据吗?它们是作为熊猫数据框提供的吗?你读过输入文件吗?那么你如何进行并存储数据呢?一个列表?一本字典?文本字符串?我们不知道。正如有人已经说过:请出示您的代码。

标签: python-3.x list for-loop


【解决方案1】:
# p1 for participent1 p2 for participent2 p3 for participent3 
HeartBeatP1=70 #let initial heart beat
HeartBeatP2=65
HeartBeatP3=75
P1=[] #list for store heartbeat participent  1
P2=[] #list for store heartbeat participent 2
P3=[] #list for store heartbeat participrnt 3
for i in range(3):
    P1.append(HeartBeatP1)
    HeartBeatP1+=10 #After every round heart beat increase 10 BPM
    P2.append(HeartBeatP2)
    HeartBeatP2+=10
    P3.append(HeartBeatP3)
    HeartBeatP3+=10
#calculate average by accessing value participent list
AverageP1=(P1[0]+P1[1]+P1[2])/3 
AverageP2=(P2[0]+P2[1]+P2[2])/3
AverageP3=(P3[0]+P3[1]+P3[2])/3
print("Average for participent 1 :",AverageP1)
print("Average for participent 2 :",AverageP2)
print("Average for participent 2 :",AverageP3)

【讨论】:

    【解决方案2】:

    如果您以交互方式从用户那里获取心跳值,您可以尝试以下操作:

    heartbeat_lst = []
    
    for x in range(3):
        heartbeat = input(f"Enter the heartbeats of participant {x+1} separated by a comma (in BPM)").split(',')
        heartbeat = [float(value) for value in heartbeat]
        heartbeat_lst.append(heartbeat)
    
    [print(f"Mean of participant {participant_num+1} = {round(sum(heartbeatt)/len(heartbeatt),2)} BPM") for participant_num,heartbeatt in enumerate(heartbeat_lst)]
    

    输出:

    Enter the heartbeats of participant 1 separated by a comma (in BPM)>? 75,89,100
    Enter the heartbeats of participant 2 separated by a comma (in BPM)>? 98,79,110
    Enter the heartbeats of participant 3 separated by a comma (in BPM)>? 100.2,112.6,109
    Mean of participant 1 = 88.0 BPM
    Mean of participant 2 = 95.67 BPM
    Mean of participant 3 = 107.27 BPM
    

    【讨论】:

      【解决方案3】:

      这不是一个难写的程序,但无论如何:

      heart_beat = [(70, 80, 90), (75, 76, 77),(90, 91, 92)] # Every tuple in the list represent the heart beat recordings for three different rounds.
      
      
      def compute_avg(beat):
          return sum(beat)/len(beat)
      
      pl_1, pl_2, pl_3 = [], [], []
      for p1, p2, p3 in heart_beat:
        pl_1.append(p1)
        pl_2.append(p2)
        pl_3.append(p3)
      
      
      avg_pl_1, avg_pl_2, avg_pl_3 = compute_avg(pl_1), compute_avg(pl_2), compute_avg(pl_3)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-03-04
        • 2016-12-22
        • 1970-01-01
        • 1970-01-01
        • 2021-12-25
        • 2016-08-01
        • 2017-01-19
        相关资源
        最近更新 更多