利用 Python 进行数据分析实验(二)

一、实验目的、

使用Python解决简单问题

二、实验要求

自主编写并运行代码,按照模板要求撰写实验报告

三、实验步骤

本次实验共有4题:

  1. 输入2000年后的某年某月某日,判断这一天是从2000年1月1日开始算起的第几天?
  2. 公务员面试设计一个程序帮助评委现场去掉一个最低分和一个最高分,再计算面试者平均分。
  3. 生成偶数个随机数,将前一半升序排列,后一半按降序排列。
  4. 统计一个txt的英文文档,里面包含哪些单词,各个单词出现的频率如何。

四、实验结果

T1

import datetime

print('请按照20xx-xx-xx格式输入:', end='')
date_str = input()

d1 = datetime.datetime.strptime(date_str, '%Y-%m-%d')
d2 = datetime.datetime.strptime('2000-01-01', '%Y-%m-%d')
res = d1 - d2
print('这是从2000.01.01算起的第' + str(res) + '天')

T2

print('评委数量:', end='')
num = input()
if int(num) < 3:
   print('评委数量应当大于等于三!')
else:
   score = []
   for i in range(0, int(num)):
       print('第' + str(i + 1) + '个评委的打分为:', end='')
       score.append(float(input()))

score.sort()
score.pop()
score.pop(0)
print(sum(score))

avr = float(sum(score)) / (int(num) - 2)

print('平均分为:' + str(avr))

T3

import random
print('输入一个偶数:', end='')
num = int(input())

arr = []
for i in range(0, num):
    arr.append(random.randint(0, 10))

print(len(arr))

res1 = sorted(arr[0: int(len(arr) / 2)], reverse=False)
res2 = sorted(arr[int(len(arr) / 2): int(len(arr))], reverse=True)

print(res1 + res2)

T4

import nltk

import string

import collections
with open('test.txt', 'r', encoding='UTF-8') as f:
    text = f.read()
    text = text.translate(str.maketrans('', '', string.punctuation))
    text = nltk.word_tokenize(text)
    res = collections.Counter(text)
    print(res)

五、实验体会

Python对于数据类型的“宽容”显著的降低了编程的门槛,但是同时导致了在使用过程中因为“随意”声明变量,导致逻辑关系混乱以及各种类型转换(以及潜在的精度损失)。即便编码难度不大,但是仍然要追求代码的简介和规范,增加可读性。

你可能感兴趣的:(python,数据分析,开发语言)