山东理工大学SDUT - ACM OJ 题: Python代码 及分析

简介: Python基础语法学习完成,先刷基础题100道巩固 ,附 题目、代码、知识分析 题目:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1000.

Python基础语法学习完成,先刷基础题100道巩固 ,附 题目、代码、知识分析

 

题目:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1000.html

代码:
s = input().split();
print((int)(s[0])+(int)(s[1]))

知识分析:
1、python输入 input()   
2、split() 是分割字符串操作
3、python可以用str[0] 取字符串下标为0的字符
1000、A+B Problem

  

题目:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1010.html

代码:
while True:
    s=input().split()
    print((int)(s[0])+(int)(s[1]))

分析知识:
1、Python的布尔类型有 True False  记住是大写
2、while True :   后面冒号必须有  括号不一定需要有,规范是没有  和java不同
1010、A+B for Input-Output Practice (I)

 

题目:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1011.html

代码:
num = (int)(input())
for i in range(1,num+1):
    s = input().split()
    print((int)(s[0])+(int)(s[1]))

知识分析:
1、for 循环使用 结构   for i in range(1,num+1)
     则 i 的取值范围是 1 到 num  
1011、A+B for Input-Output Practice (II)

 

题目:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1012.html

代码:
while True:
    s = input().split()
    if (int)(s[0])==0 and (int)(s[1])==0:
        break
    print((int)(s[0])+(int)(s[1]))


知识分析:
1、python的且运算是and  或运算是or   
1012、A+B for Input-Output Practice (III)

 

题目:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1013.html

代码:
while True:
    s=input().split()
    if s==['0']:
        break
    sum = 0;
    for i in range(1,len(s)):
        sum=sum+(int)(s[i])
    print(sum)
1013、A+B for Input-Output Practice (IV)

 

题目:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1014.html

代码:
s = input()
for i in range(0 , int(s)):
    s=input().split()
    sum = 0;
    for i in range(1,len(s)):
        sum=sum+(int)(s[i])
    print(sum)
1014、A+B for Input-Output Practice (V)

 

题目:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1015.html

代码:
while True:
    s=input().split()
    sum=0
    for i in range(1,len(s)):
        sum+=(int)(s[i])
    print(sum)

知识分析:
无
1015、A+B for Input-Output Practice (VI)

 

题目:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1016.html

代码:
while True:
    s=input().split()
    print((int)(s[0])+(int)(s[1]))
    print()
1016、A+B for Input-Output Practice (VII)

 

题目:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1017.html

代码:
s=input()
for i in range(0,(int)(s)):
    ss = input().split()
    sum = 0;
    for j in range(1,len(ss)):
        sum+=(int)(ss[j])
    print(sum)
    print()
1017、A+B for Input-Output Practice

 

题目:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1123.html

代码:
num=(int)(input())
if num==0:
    print(1)
else:
    sum = 1;
    i=0
    for i in range(1,num+1):
        sum *= i

    print(sum)

知识分析:
1、if  else 里面都需要有:
1123、求阶乘(循环结构)

 

题目:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1201.html

代码:
s=input().split(" ")
#将三个字符串加入列表
list = []
list.append(s[0])
list.append(s[1])
list.append(s[2])
list.sort()

for i in range(len(list)):
    print(list[i],end='')
    print(" ",end='')


知识分析:
1、list添加元素方法 append
2、list排序方法 sort()
3、输出不换行 加 ,end=''
1201、字符串排序

 

题目:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1249.html

代码:
while True:
    s = input()
    print(s.title())


知识分析:
1、input()输入后即 字符串
2、s.title()  内置方法  将每个单词的第一个字母转为大写 其余小写


其他方法如下:

str = "www.runoob.com"
print(str.upper())          # 把所有字符中的小写字母转换成大写字母
print(str.lower())          # 把所有字符中的大写字母转换成小写字母
print(str.capitalize())     # 把第一个字母转化为大写字母,其余小写
print(str.title())          # 把每个单词的第一个字母转化为大写,其余小写 
执行以上代码输出结果为:
WWW.RUNOOB.COM
www.runoob.com
Www.runoob.com
Www.Runoob.Com
1249、首字母变大写

 

题目:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1442.html

代码:
num=(int)(input())
for i in range(0,num):
    s = input().split(" ")
    # 用空格分割 是字符串  转成整形 存到列表中
    list = []
    list.append((int)(s[0]))
    list.append((int)(s[1]))
    list.append((int)(s[2]))
    ave = (list[0]+list[1]+list[2])/3  #算平均数
    isLarge = 0  # 3个数中 大于平均数的个数
    for j in list:
        if j > ave:
            isLarge+=1

    if isLarge>1:
        print("Yes")
    else:
        print("No")

知识分析:
1、range(0,num) 的取值范围是0到num-1
2、 s = input().split(" ")   获取的是用空格分割的字符串 并存入到列表中 
    比如输入 : 1 2 3
    s 的值就是 : ['1', '3', '4']
1442、优越数

 

 

题目:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/2247.html


代码:
s=input().split(" ")
print(s[0].count(s[1]))


知识分析:
1、str.count(s) 返回s在str中出现的次数
2247、统计次数问题

 

相关文章
|
18天前
|
并行计算 安全 Java
Python GIL(全局解释器锁)机制对多线程性能影响的深度分析
在Python开发中,GIL(全局解释器锁)一直备受关注。本文基于CPython解释器,探讨GIL的技术本质及其对程序性能的影响。GIL确保同一时刻只有一个线程执行代码,以保护内存管理的安全性,但也限制了多线程并行计算的效率。文章分析了GIL的必要性、局限性,并介绍了多进程、异步编程等替代方案。尽管Python 3.13计划移除GIL,但该特性至少要到2028年才会默认禁用,因此理解GIL仍至关重要。
97 16
Python GIL(全局解释器锁)机制对多线程性能影响的深度分析
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
27天前
|
缓存 Rust 算法
从混沌到秩序:Python的依赖管理工具分析
Python 的依赖管理工具一直没有标准化,主要原因包括历史发展的随意性、社区的分散性、多样化的使用场景、向后兼容性的挑战、缺乏统一治理以及生态系统的快速变化。依赖管理工具用于处理项目中的依赖关系,确保不同环境下的依赖项一致性,避免软件故障和兼容性问题。常用的 Python 依赖管理工具如 pip、venv、pip-tools、Pipenv、Poetry 等各有优缺点,选择时需根据项目需求权衡。新工具如 uv 和 Pixi 在性能和功能上有所改进,值得考虑。
84 35
|
28天前
|
数据采集 数据可视化 数据挖掘
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
本文探讨了金融资产波动率建模中的三种主流方法:GARCH、GJR-GARCH和HAR模型,基于SPY的实际交易数据进行实证分析。GARCH模型捕捉波动率聚类特征,GJR-GARCH引入杠杆效应,HAR整合多时间尺度波动率信息。通过Python实现模型估计与性能比较,展示了各模型在风险管理、衍生品定价等领域的应用优势。
251 66
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
|
1月前
|
数据采集 缓存 API
python爬取Boss直聘,分析北京招聘市场
本文介绍了如何使用Python爬虫技术从Boss直聘平台上获取深圳地区的招聘数据,并进行数据分析,以帮助求职者更好地了解市场动态和职位需求。
|
1月前
|
机器学习/深度学习 运维 数据可视化
Python时间序列分析:使用TSFresh进行自动化特征提取
TSFresh 是一个专门用于时间序列数据特征自动提取的框架,支持分类、回归和异常检测等机器学习任务。它通过自动化特征工程流程,处理数百个统计特征(如均值、方差、自相关性等),并通过假设检验筛选显著特征,提升分析效率。TSFresh 支持单变量和多变量时间序列数据,能够与 scikit-learn 等库无缝集成,适用于大规模时间序列数据的特征提取与模型训练。其工作流程包括数据格式转换、特征提取和选择,并提供可视化工具帮助理解特征分布及与目标变量的关系。
75 16
Python时间序列分析:使用TSFresh进行自动化特征提取
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python实现基于矩阵分解的长期事件(MFLEs)时间序列分析
在现代数据分析中,高维时间序列数据的处理和预测极具挑战性。基于矩阵分解的长期事件(MFLEs)分析技术应运而生,通过降维和时间序列特性结合,有效应对大规模数据。MFLE利用矩阵分解提取潜在特征,降低计算复杂度,过滤噪声,并发现主要模式。相比传统方法如ARIMA和深度学习模型如LSTM,MFLE在多变量处理、计算效率和可解释性上更具优势。通过合理应用MFLE,可在物联网、金融等领域获得良好分析效果。
64 0
使用Python实现基于矩阵分解的长期事件(MFLEs)时间序列分析
|
1月前
|
数据可视化 算法 数据挖掘
Python时间序列分析工具Aeon使用指南
**Aeon** 是一个遵循 scikit-learn API 风格的开源 Python 库,专注于时间序列处理。它提供了分类、回归、聚类、预测建模和数据预处理等功能模块,支持多种算法和自定义距离度量。Aeon 活跃开发并持续更新至2024年,与 pandas 1.4.0 版本兼容,内置可视化工具,适合数据探索和基础分析任务。尽管在高级功能和性能优化方面有提升空间,但其简洁的 API 和完整的基础功能使其成为时间序列分析的有效工具。
80 37
Python时间序列分析工具Aeon使用指南
|
2月前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
78 33
|
2月前
|
JavaScript API C#
【Azure Developer】Python代码调用Graph API将外部用户添加到组,结果无效,也无错误信息
根据Graph API文档,在单个请求中将多个成员添加到组时,Python代码示例中的`members@odata.bind`被错误写为`members@odata_bind`,导致用户未成功添加。
52 10

热门文章

最新文章

推荐镜像

更多