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

一、实验目的

使用Python解决简单问题

二、实验要求

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

三、实验步骤

本次实验共有5题:

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

四、实验结果

T1

T1-1

python 复制代码
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

python 复制代码
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

python 复制代码
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

python 复制代码
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

python 复制代码
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

python 复制代码
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 小时前
langgraph 后端发自定义数据,前端接收方法概括
人工智能·python
benchmark_cc12 小时前
用 QuantDash 读取单只股票五档盘口:抽样、缺失值检查与复现记录
python·数据分析·pandas·量化交易·股票数据·quantdash
曲径海盗13 小时前
【Python 学习第 55 天】列表基础
python·学习笔记·编程入门
专注仿真13 小时前
知识问答模型用到的算法集详解及代码实例
python·算法·代码·大模型训练·控制算法
jyOverQ13 小时前
我写了一个 CSDN Markdown 图片助手:告别本地图片逐张上传
python·工具·csdn
刘马想放假16 小时前
CANviz 使用指南|Linux 安装、DBC 解码、实时曲线与 J1939 实战
linux·python·websocket
2601_9679873717 小时前
python判断变量名不要调用任何函数实现
python·函数·语法·判断·变量名
卷无止境18 小时前
SALib敏感性分析的python库学习笔记
后端·python
duansamve19 小时前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
特立独行的猫A19 小时前
少 3 个环节、少 1 次 ABI、少 3500 行代码:cj-tauri 与 Ionic/Capacitor 的鸿蒙桥接机制对比
java·后端·python