【阿尼亚喜欢BigData】“红亚杯”Python编程专题赛——满分解析④

大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!!

本次为师傅们带来的是“红亚杯”Python编程专题赛——满分解析系列的第④期,是“Python基础编程(3)”篇章哦!

第①期完整赛题、第②期Python基础编程(1)和第③期Python基础编程(2)的链接在下面,师傅们想看完整赛题、Python基础编程(1)、Python基础编程(2)的请安心享用:

【阿尼亚喜欢BigData】“红亚杯”Python编程专题赛——满分解析①_爱波吉的阿尼亚的博客-CSDN博客

【阿尼亚喜欢BigData】“红亚杯”Python编程专题赛——满分解析②_爱波吉的阿尼亚的博客-CSDN博客

【阿尼亚喜欢BigData】“红亚杯”Python编程专题赛——满分解析③_爱波吉的阿尼亚的博客-CSDN博客

目录​​​​​​​

Python基础编程(3)

数据截取

数据替换

格式化输出

列表成员判断

星期输出程序

判断回文数

最大公约数

生肖判断

字符统计

中文字符频率统计


Python基础编程(3)

Python编程基础:主要涉及python语言的变量和常量的规则和命名规定、不同进制之间的转换、运算符的优先级顺序、编码与解码、不同数据类型的区别和操作、循环、判断等流程控制语句的原理与使用、内置函数和模块、关键字的使用、类与对象的属性和方法、文件操作,共计30个训练任务;

数据截取

已知字符串“Welcome to the python match!”,使用切片方式获取其17至25的字符元素并打印结果。

要求通过索引获取字符串中字符;

代码保存地址为:/root/python1/fontindex.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。

操作环境: python

s = "Welcome to the python match!"
print(s[17:26])

数据替换

已知字符串s具体内容为“hello world,hello China,hello hongyaa”,要求移除空格、逗号,将字符串'hello'替换为'HELLO',编写程序进行结果打印。

使用内置函数方式进行字符串替换;

代码保存地址为:/root/python1/fontreplace.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。

操作环境: python

s = "hello world,hello China,hello hongyaa"
print(s.replace(" ","").replace(",","").replace("hello","HELLO"))

格式化输出

现有数字π,使用占位符%对其进行格式化输出,要求输出格式为浮点型,结果保留5位小数。

使用内置函数方式进行π赋值;

代码保存地址为:/root/python1/piformat.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。

操作环境: python

import math

PI=math.pi
print("%.5f"%PI)

列表成员判断

列表成员判断,现有一个列表[3,1,4,5.5,9,2,6],输入一个数字,判断数字是否存在于列表中。

实例如下:

终端输入:python /root/python1/listjudge.py 2

终端输出:True

使用外部传参方式(sys)进行数值传入;

定义num()函数用于判定数字是否存在与列表中(即和列表中数值相同);

运行程序,若数字存在与列表中,输出True,否则输出False;

代码保存地址为:/root/python1/listjudge.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。

操作环境: python

import sys
list=[3,1,4,5.5,9,2,6]
n = sys.argv[1]
def num(n):
    if (int(n) in list):
        print("True")
    else:
        print("False")
num(n)

星期输出程序

编写程序计入一个表示星期几的数字(1-7),输出对应的星期字符串名称。例如:输入7,输出“星期日”。

1)使用外部传参方式(sys)进行数值传入;

2)定义week()函数用于数字与星期的换算和输出;

3)使用format进行格式化输出;

4)数字范围为1-7,超出范围输出信息:“请输入数字1-7!”

5)代码保存地址为:/root/python1/week.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。

操作环境: python

import sys

n = sys.argv[1]
weeklist=["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]

def week(n):
    if int(n)<1 or int(n)>7:
        print("请输入数字1-7!")
    else:
        w=weeklist[int(n)-1]
        print("{week}".format(week=w))
week(n)

判断回文数

要求传入一个任意数值n,编写程序判断这个数字n是不是回文数。

实例如下:

输入:python /root/python1/palin.py 123

输出:123不是回文数

输入:python /root/python1/palin.py 121

输出:121是回文数

说明:设i是一任意自然数,如果i的各位数字反向排列所得自然数与i相等,则i被称为回文数。

1)使用外部传参方式将数值传给变量n;

2)使用format方式进行格式化输出;

3)推荐使用倒叙方式进行程序编写;

4)代码保存地址为:/root/python1/palin.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。

操作环境: python

import sys

n = sys.argv[1]

if n[::-1]==n:
    print("{number}是回文数".format(number=n))
else:
    print("{number}不是回文数".format(number=n))

最大公约数

最大公约数计算,最大公约数计算,要求传入两个整数a,b,编写程序计算两个整数的最大公约数,并输出展示。

备注:若n是一个能被若干个整数同时均整除的整数,则n同时是这几个整数的约数,称这个整数为它们的“公约数”;公约数中最大的称为最大公约数。

终端输入:python divisor.py 2 3

终端输出:最大公约数为1

1)定义divi()函数用于计算最大公约数;

2)使用外部传参方式(sys)将数值传给变量a,b;

3)使用for循环从1开始,记录下可以同时被两个变量整除的数,最大的数就是最大公约数;

4)为了优化参数,推荐循环到两个变量中的值小的变量即可;

5)代码保存地址为:/root/python1/divisor.py;

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。

操作环境: python

import sys

a,b = sys.argv[1:3]

def divi(a,b):
    if a > b:
       smaller = b
    else:
       smaller = a
    for i in range(1,smaller + 1):
        if((a % i == 0) and (b % i == 0)):
            n = i
    print("最大公约数为"+str(n))

divi(int(a),int(b))

生肖判断

判断年份生肖,要求输入一个整数n,编写程序判断数字对应相应的生肖并输出结果。

实例如下:

输入:python /root/python1/zodiac.py 2021

输出:丑牛

1)十二生肖为:子鼠 ,丑牛,寅虎 ,卯兔 ,辰龙 ,巳蛇 ,午马 ,未羊,申猴 ,酉鸡,戌狗 ,亥猪;

2)生肖为12年一循环;

3)要求计算公元元年以后的年份(n>0),公元前年份不计在内,不满足年份条件则输出提示信息:“请输入公元后年份!”;

4)使用外部传参方式(sys)将数值传给变量n;

5)定义year()函数计算年份生肖;

6)代码保存地址为:/root/python1/zodiac.py;

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。

操作环境: python

# coding=utf-8
import sys

n = sys.argv[1]
yearlist=["酉鸡","戌狗","亥猪","子鼠","丑牛","寅虎","卯兔","辰龙","巳蛇","午马","未羊","申猴"]

def year(n):
    if int(n)<0:
        print("请输入公元后年份")
    else:
        n=int(n)
        z=n-int(n/12)*12
        y=yearlist[z-1]
        print(y)
year(n)

字符统计

统计字符个数,统计字符个数,根据提供的文件/root/python_data/this.txt,编写程序统计英文字母、空格、数字的个数,将结果打印;

1)读取文件(使用绝对路径),使用python字符串内建函数对文件内所有内容进行统计;

2)统计内容为:字母(letters)、数字(digit)、空格(space)、其他(other);

3)运行程序,终端输出为:字母数量为?,空格数量为?,数字数量为?,其他数量为?(其中逗号为英文字符)

4)代码保存地址为:/root/python1/word.py;

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。

操作环境: python

import string

with open('/root/python_data/this.txt') as f:
  txt = f.read()
  
l=0
s=0
d=0
o=0

for i in txt:
    if i.isalpha():
        l += 1
    elif i.isdigit():
        d += 1
    elif i.isspace():
        s += 1
    else:
        o += 1
        
print("字母数量为{letters},空格数量为{space},数字数量为{digit},其他数量为{other}".format(letters=l,space=s,digit=d,other=o))

中文字符频率统计

中文字符频率统计,编写一个程序,对给定的诗词文件中出现的全部字符(含中文字符)频率进行统计,按照降序输出;

要求程序中对全部文字word进行个数统计count,按照(word count)方式进行输出;

使用format进行格式化输出,输出格式都为左对齐,占3个位置(word count的最小宽度都为3);

调用函数打开文本文件,使用File write()方法写入结果;

诗词文件位置为:/root/python_data/poetry.txt;

频率统计结果保存至/root/python_data/wordcount.txt中;

代码保存地址:/root/python1/wordcount.py

备注:要求在代码中实现全部读取文件、遍历排序、结果写入文件等过程;

提示:可以在格式输出时,直接使用write()方法,文件都是用绝对路径。

结果展示:

        字符  个数
        落  3  
        潮  2 
考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证统计结果是否正确。

操作环境: python

def is_Chinese(ch):
    if '\u4e00' <= ch <= '\u9fff':
        return True
    
with open('/root/python_data/poetry.txt',encoding='utf8') as f:
  txt = f.read()

counts = {}
for i in txt:
    counts[i] = counts.get(i, 0) + 1
ls = list(counts.items())
ls.sort(key=lambda x:x[1], reverse=True)
with open('/root/python_data/wordcount.txt', 'a') as f:
        f.write("{:<3}{:<3}\n".format("字符", "个数"))
#指定列表中那一列作为排序的列
for i in range(len(counts)):
    word, count = ls[i]
    if is_Chinese(word):
        with open('/root/python_data/wordcount.txt', 'a') as f:
            f.write("{:<3}{:<3}\n".format(word, count))

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。 Quartz的优势: 1、Quartz是一个任务调度框架(库),它几乎可以集成到任何应用系统中。 2、Quartz是非常灵活的,它让您能够以最“自然”的方式来编写您的项目的代码,实现您所期望的行为 3、Quartz是非常轻量级的,只需要非常少的配置 —— 它实际上可以被跳出框架来使用,如果你的需求是一些相对基本的简单的需求的话。 4、Quartz具有容错机制,并且可以在重启服务的时候持久化(”记忆”)你的定时任务,你的任务也不会丢失。 5、可以通过Quartz,封装成自己的分布式任务调度,实现强大的功能,成为自己的产品。6、有很多的互联网公司也都在使用Quartz。比如美团 Spring是一个很优秀的框架,它无缝的集成了Quartz,简单方便的让企业级应用更好的使用Quartz进行任务的调度。   课程说明:在我们的日常开发中,各种大型系统的开发少不了任务调度,简单的单机任务调度已经满足不了我们的系统需求,复杂的任务会让程序猿头疼, 所以急需一套专门的框架帮助我们去管理定时任务,并且可以在多台机器去执行我们的任务,还要可以管理我们的分布式定时任务。本课程从Quartz框架讲起,由浅到深,从使用到结构分析,再到源码分析,深入解析Quartz、Spring+Quartz,并且会讲解相关原理, 让大家充分的理解这个框架和框架的设计思想。由于互联网的复杂性,为了满足我们特定的需求,需要对Spring+Quartz进行二次开发,整个二次开发过程都会进行讲解。Spring被用在了越来越多的项目中, Quartz也被公认为是比较好用的定时器设置工具,学完这个课程后,不仅仅可以熟练掌握分布式定时任务,还可以深入理解大型框架的设计思想。
[入门数据分析的第一堂课]这是一门为数据分析小白量身打造的课程,你从网络或者公众号收集到很多关于数据分析的知识,但是它们零散不成体系,所以第一堂课首要目标是为你介绍:Ø  什么是数据分析-知其然才知其所以然Ø  为什么要学数据分析-有目标才有动力Ø  数据分析的学习路线-有方向走得更快Ø  数据分析的模型-分析之道,快速形成分析思路Ø  应用案例及场景-分析之术,掌握分析方法[哪些同学适合学习这门课程]想要转行做数据分析师的,零基础亦可工作中需要数据分析技能的,例如运营、产品等对数据分析感兴趣,想要更多了解的[你的收获]n  会为你介绍数据分析的基本情况,为你展现数据分析的全貌。让你清楚知道自己该如何在数据分析地图上行走n  会为你介绍数据分析的分析方法和模型。这部分是讲数据分析的道,只有学会底层逻辑,能够在面对问题时有自己的想法,才能够下一步采取行动n  会为你介绍数据分析的数据处理和常用分析方法。这篇是讲数据分析的术,先有道,后而用术来实现你的想法,得出最终的结论。n  会为你介绍数据分析的应用。学到这里,你对数据分析已经有了初步的认识,并通过一些案例为你展现真实的应用。[专享增值服务]1:一对一答疑         关于课程问题可以通过微信直接询问老师,获得老师的一对一答疑2:转行问题解答         在转行的过程中的相关问题都可以询问老师,可获得一对一咨询机会3:打包资料分享         15本数据分析相关的电子书,一次获得终身学习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱波吉的阿尼亚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值