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 = '')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值