Python 小练习

大学计算机–Python算法实践

李金双、李凤云、张昱

  1. 输入3个正数,判定它们作为三条边的边长能否组成一个三角形,如果能,进一步判断三角形的形状(按等边、等腰、直角、一般的顺序),输出判断结果。

    import math
    
    a = float(input())
    b = float(input())
    c = float(input())
    if a+b>c and a+c>b and b+c>a:  #同时满足
      if a==b and b==c:
          print('等边三角形')
      elif a==b or b==c or c==a:
          print('等腰三角形')
      elif math.fabs(a*a+b*b-c*c)<1e-6 or math.fabs(a*a+c*c-b*b)<1e-6 or math.fabs(c*c+b*b-a*a)<1e-6:
          print('直角三角形')
      else:
          print('一般三角形')
    else:
      print('不能构成三角形')
  2. 从键盘连续输入5名同学的学号和3门不同科目的考试成绩,找到总分最高的同学,输出他(她)三门课程的成绩、总分及平均分。

    std = [[] for i in range(5)]  #二维列表,std里5个空list
    max = 0.0
    flag = 0
    
    for i in range(5):
       temp = input()
       std[i].append(temp) #student id
       for j in range(3):
           score = float(input())
           std[i].append(score)    #score
       total = std[i][3] + std[i][1] + std[i][2]
       std[i].append(total);
       if total > max:
           max = total;
           flag = i;
    
    print('student id: ', std[flag][0], sep = '')
    print('grades: ', std[flag][1], std[flag][2], std[flag][3], sep = ' ')
    print('total:', std[flag][4], '\taverage:', std[flag][4]/3, sep = '')

你可能感兴趣的:(Python,-,学习)