【题解】【中国大学MOOC】(东北大学)大学计算机--Python算法实践考试——期中考试

1.连续输入3个正数(每输入一个数后回车,不可在同一行输入)表示3条边的边长,判断其是否能组成一个三角形以及三角形的形状。按照判断结果输出“等边三角形”、“等腰三角形”、“直角三角形”、“一般三角形”、“不能组成三角形”(等腰直角三角形可不做判断,按等腰三角形输出)。

题目内容:

连续输入3个正数(每输入一个数后回车,不可在同一行输入)表示3条边的边长,判断其是否能组成一个三角形以及三角形的形状。按照判断结果输出“等边三角形”、“等腰三角形”、“直角三角形”、“一般三角形”、“不能组成三角形”(等腰直角三角形可不做判断,按等腰三角形输出)。

注意:由于平台限制,输出中文文本时,如文本在变量s中,务必使用print(s.encode(“utf-8”))语句输出其utf-8编码形式。

输入格式:

连续3个整数,分行输入

输出格式:

单行文本

输入样例:

3
4
5

输出样例:

直角三角形
实际输出应为:b'\xe7\x9b\xb4\xe8\xa7\x92\xe4\xb8\x89\xe8\xa7\x92\xe5\xbd\xa2'

时间限制:2000ms 内存限制:128000kb

参考代码:

a = int(input())
b = int(input())
c = int(input())
if a+b > c and a+c > b and b+c > a:
    if a == b and b == c:
        print('等边三角形'.encode("utf-8"))
    elif a == b or b == c or a == c:
        print('等腰三角形'.encode("utf-8"))
    elif a*a+b*b == c*c or a*a+c*c == b*b or b*b+c*c == a*a:
        print('直角三角形'.encode("utf-8"))
    else:
        print('一般三角形'.encode("utf-8"))
else:
    print('不能组成三角形'.encode("utf-8"))

2.初始化如下的列表:aList = [23, -1, 9, 18, 0, -6, 33, 21]然后从键盘连续输入两个整数(一行输入一个数),并依次追加到列表的末尾。而后分两行分别输出这个列表的最大值和所有正数的平均值(该平均值要求保留2位小数输出)。

题目内容:

初始化如下的列表:aList = [23, -1, 9, 18, 0, -6, 33, 21]
然后从键盘连续输入两个整数(一行输入一个数),并依次追加到列表的末尾。
而后分两行分别输出这个列表的最大值和所有正数的平均值(该平均值要求保留2位小数输出)。

输入格式:

分两行输入两个数

输出格式:

分两行输出最大值和正数平均值

输入样例:

49
50

输出样例:

50
29.00

时间限制:500ms 内存限制:32000kb

参考代码:

a = int(input())
b = int(input())
sum_aList = 0
cnt_aList = 0
aList = [23, -1, 9, 18, 0, -6, 33, 21]
aList.append(a)
aList.append(b)
print(max(aList))   
for i in aList:
    if i > 0:
        sum_aList += i
        cnt_aList += 1
print('%.2f' % (sum_aList / cnt_aList))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章