首页 > Python资料 博客日记
PTA中关于python的非零返回和格式错误
2024-10-30 20:00:07Python资料围观6次
这篇文章介绍了PTA中关于python的非零返回和格式错误,分享给大家做个参考,收藏Python资料网收获更多编程知识
1.关于非零返回
这是官方给出的结果,但其实python中是不会有这种关于0的返回要求,出现非零返回其实很有可能是写出的代码无法运行其中的某个案例,可能是数组溢出,也可能是产生了非法的运算,总而言之可以简单理解就是代码无法执行完案例便有了报错
例如这个pta中打印沙漏的这个题目
开始我写的代码是:
n,s=input().split()
n=int(n)
s=str(s)
arr=[]
num=3
if n==0:
print(0)
elif n==1:
print(s)
print(0)
elif n==2:
print(s)
print(1)
else:
if n % 2 == 1:
half = (n - 1) // 2
left = 0
else:
half = (n - 2) // 2
left = 1
while half >= num:
half -= num
arr.append(str(s) * num)
num += 2
l = len(arr)
ll = len(arr[l - 1])
for i in range(l - 1, -1, -1):
if i == l - 1:
print(arr[i])
else:
print(" " * (l - 1 - i), end='')
print(arr[i])
print(" " * ((ll - 1) // 2),end='')
print(s)
for i in range(l):
if i == l - 1:
print(arr[i])
else:
print(" " * (l - 1 - i),end='')
print(arr[i])
print(left + 2 * half)
里面有一个案例便是非零返回,原因很简单当我的n在3到6直接如果有案例的话,我的arr数组里面不会有值,但是我还是用arr的长度去进行for循环了,所以自然的程序无法运行就会产生非零返回,有时候也可能是语法错误,但是大家一般都是在外部编译器运行后才把代码复制到pta上所以产生非零返回很有可能就是这种情况,案例考虑不完全导致的错误
2.关于格式错误
也是上一个题目,它要求我们打印
*****
***
*
***
*****
我使用
print(" " * (l - 1 - i), s)
会显示格式错误,但是我用
print(" " * (l - 1 - i), end='') print(arr[i])
就运行成功了,俩个代码运行结果是一样的,这可能跟里面内置函数运行的结果有关系,目前还不知道是为什么
所以遇见这种情形可以多尝试几种方式去打印结果
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj