python二级操作题与分析(7)
发布日期:2022-02-01 03:01:55 浏览次数:10 分类:技术文章

本文共 2966 字,大约阅读时间需要 9 分钟。

1.基本操作题 (1)

从键盘输入 3 个数作为三角形的边长,在屏幕上显示输出由这 3 个边长构成三角形的面积(保留 2 位小数)。

请参照代码模板,完善代码。

输入输出示例

输入	输出

示例 1 3,3,3 3.90

习题讲解a,b,c = eval(input())p = (a+b+c)/2area = pow(p * (p-a)*(p-b)*(p-c),0.5)print("{:.2f}".format(area))

//s=根号下:p(p-a)(p-b)(p-c) 其中p=1/2(a+b+c)

这个公式叫海伦公式
S=√[p(p-a)(p-b)(p-c)]
而公式里的p为半周长:p=(a+b+c)/2

2.基本操作题(2)

将一个列表中所有的单词首字母转换成大写。

请参照代码模板,完善代码。

输入输出示例

输入 输出
示例 1 [“python”,“is”,“opening”] [‘Python’, ‘Is’, ‘Opening’]

习题讲解ls = eval(input())for i in range(len(ls)):ls[i] = ls[i].capitalize()print(ls)

3.基本操作题(3)

从键盘输入一个列表,计算输出列表元素的均方差。 //标准差

请参照代码模板,完善代码。本题支持自动评阅。
方差s2=[(x1-x)2+(x2-x)2+…(xn-x)2]/(n)(x为平均数)
⒉标准差=方差的算术平方根errorbar

pow() 方法返回 xy(x的y次方) 的值。

输入输出示例

输入	输出

示例 1 [99,98,97,96,95] 均方差为:1.58

习题讲解def mean(numlist):    s = 0.0    for num in numlist:        s = s + num    return s/len(numlist)def dev(numlist,mean):    sdev = 0.0    for num in numlist:        sdev = sdev + (num - mean)**2    return (sdev /(len(numlist)-1) )** 0.5#请输入一个列表:ls = eval(input(""))print("均方差为:{:.2f}".format(dev(ls,mean(ls))))

4.简单操作题(1)

使用 turtle 库的 turtle.right() 函数和 turtle.circle() 函数绘制一个星星图形,如下图所示。

请参照代码模板,完善代码。


自动评阅说明

使用字符串形式输出 ,,____③____中应填代码即可以自动评阅得分

例如,如果代码为:

代码模板 | # 你的代码

import turtle | import turtle

d = 0 | d = 0for i in range(1): | for i in range(1):
turtle.fd(2) | turtle.fd(100)
d = 3 | d = (i + 100) * 100
turtle.seth(d) | turtle.seth(d)
则在提交代码页面输入:
print(‘1’, ‘100’, ‘(i + 100) * 100’)
提交后即可以查看得分

注:如果有运算符,请在运算符两侧加上空格

习题讲解import turtlefor i in range(4):    turtle.circle(-90,90)turtle.right(180)print(-90,180)

5.简单操作题(2)

用字典和列表型变量完成某课程的考勤记录统计,某班有 74 名同学,名单由考生目录下文件 txt 给出,某课程 10 次考勤数据由考生目录下文件 1.csv,2.csv … 给出。请输出全勤同学的名字。

请参照代码模板,完善代码。

输入输出示例

输入 输出
示例 1 全勤同学有:陈恒杰,张冲,蔡冯顺,…

习题讲解# 从csv文件中读取考勤数据ls = []for i in range(1,11):    fo =  open(str(i) +".csv","r",encoding = "utf-8")    for line in fo:        line = line.replace("\n","")        ls.append(line.split(",")[0])            fo.close()counts = {}for name in ls:    counts[name] = counts.get(name,0) + 1items = list(counts.items())print("全勤同学有:",end ="")for i in range(1,74,1):    word,count = items[i]    if count == 10 :        #print("{0:<10}:{1:<5}次".format(word,count))        print(word,end =",")

6.综合应用题

苏格拉底是古希腊著名的思想家、哲学家、教育家、公民陪审员。苏格拉底的名言部分被翻译为中文,部分内容分词结果由考生目录下文件 sgldout.txt 给出。对文件 sgldout.txt 进行分析,输出词频排名前五的词 (不包括中文标点符号) 和次数到 sgldstatistics.txt。

参照输出格式如下:
了:234
了:234
了:234
了:234
了:234
请参照代码模板,完善代码,通过单机测试运行程序。


自动评阅说明

不需要打开(open)写入(writeline)文件,使用 print 输出内容即可自动评阅。

习题讲解import jiebafo = open("sgldout.txt","r",encoding ="utf-8")words = fo.readlines()fo.close()sym = ";。,“”: "DictWords = {}for ls in words:    if ls[:-1] not in sym:        DictWords[ls[:-1]] = DictWords.get(ls[:-1], 0) + 1        L = list(DictWords.items())        L.sort(key = lambda s:s[1],reverse=True)# 输出到文件fo = open("sgldstatistics.txt", "w", encoding="utf-8")      for i in range(5):    fo.writeline(L[i][0] + ":" + str(L[i][1]) + "\n")fo.close()# print 输出for i in range(5):    print(L[i][0] + ":" + str(L[i][1]))

转载地址:https://blog.csdn.net/qq_43313588/article/details/88377711 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python二级操作题与分析(6)
下一篇:python中count方法

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月03日 13时27分39秒