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

一、实验目的

使用Python解决简单问题

二、实验要求

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

三、实验步骤

本次实验共有5题:

  1. 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?四个数字是2、3、7、9呢?
  2. 判断1000-2000之间有多少个素数,并输出所有素数.
  3. 打印出所有的"四叶玫瑰数",所谓"四叶玫瑰数"是指一个四位数,其各位数字四次方和等于该数本身。
  4. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符输出的数并分别统计每一种类型的个数。
  5. 打印九九乘法表。

四、实验结果

T1

T1-1

import itertools

count = 0
for arr in itertools.permutations('1234', 3):
    # print(arr)
    print(int(arr[0]) * 100 + int(arr[1]) * 10 + int(arr[2]))
    count = count + 1

print('共有' + str(count) + '个组合')

T1-2

import itertools

count = 0
for arr in itertools.permutations('2379', 3):
   # print(arr)
   print(int(arr[0]) * 100 + int(arr[1]) * 10 + int(arr[2]))
   count = count + 1

print('共有' + str(count) + '个组合')

T2

import math

count = 0
res = []


def check(x):
    if x <= 1:
        return False
    for flag in range(2, int(math.sqrt(x) + 1)):
        if x % flag == 0:
            return False
    return True


for i in range(1000, 2001):
    if check(i):
        res.append(i)
        count = count + 1

for i in range(0, len(res)):
    print(res[i], end=' ')
    if ((i + 1) % 10) == 0:
        print('\n')

print('\n1000~2000有素数' + str(count) + '个')

T3

def func(x):
    arr = str(x)
    if res(arr) == x:
        return True
    else:
        return False


def res(arr):
    return pow(int(arr[0]), 4) + pow(int(arr[1]), 4) + pow(int(arr[2]), 4) + pow(int(arr[3]), 4)


for i in range(1000, 10000):
    if func(i):
        print(i)

T4

import re

count_n = 0
count_s = 0
count_l = 0
count_o = 0

'''
string = 'Some people, when confronted with a problem, ' \
         'think “I know, I’ll use regular expressions.” ' \
         'Now they have two problems.'
'''
string = input()

number = re.finditer(r'\d+', string)
for match in number:
    count_n = count_n + 1
print('数字的数量是' + str(count_n))

space = re.finditer(r'\s+', string)
for match in space:
    count_s = count_s + 1
print('空白的数据是' + str(count_s))

letter = re.finditer(r'[a-zA-Z]', string)
for match in letter:
    count_l = count_l + 1
print('字符的数量是' + str(count_l))

print('其他字符的数量是' + str(len(string) - count_s - count_l - count_n))

T5

import numpy as np
import itertools

count = 0

form = np.empty([81, 2], int)
for arr in itertools.product('123456789', repeat=2):
    form[count][0] = arr[0]
    form[count][1] = arr[1]
    count = count + 1

print('打印99乘法表:')
left = 0
count = 1

for i in range(0, 9):
    for j in range(left, left + count):
        string = str(form[j][0]) + '*' + str(form[j][1]) + '=' + str(int(form[j][0]) * int(form[j][1]))
        print('%-8s' % string, end='')

    print("\n")
    left = left + 9
    count = count + 1

五、实验体会

Python标准库和第三库众多,功能强大。充分利用库函数来简化和加速代码、不重复造轮子能够显著简化代码提高编码效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值