求助为什么不对
1字符串循环左移(10分)题目内容:
给定一个字符串S,要求把S的前k个字符移动到S的尾部,如把字符串“abcdef”前面的2个字符‘a’、‘b’移动到字符串的尾部,得到新字符串“cdefab”,称作字符串循环左移k位。
输入一个字符串和一个非负整数N,要求将字符串循环左移N次。
可以使用以下语句实现字符串s的输入:
s=str(input())
可以使用以下语句实现非负整数n的输入:
n=int(input())
输入格式:
输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。
输出格式:
在一行中输出循环左移N次后的字符串。
输入样例:
abcd
2
输出样例:
cdab
s=str('abcd')
n=int(2)
print(s+s)
为什么不对啊 1,题目要求input输入。你的程序
s=str('abcd')
n=int(2)
不符合。
2.s+s
5是什么,用户输入,开始你并不知道字符串的长度。
改为:
s + s[:n] 冬雪雪冬 发表于 2019-11-14 23:31
1,题目要求input输入。你的程序
s=str('abcd')
n=int(2)
input输入是什么?
s=str(input('abcd'))
这样嘛? 是的 本帖最后由 jackz007 于 2019-11-15 13:23 编辑
s = input('输入字符串 s : ') . strip()
if len(s) > 0:
n = input('输入循环左移次数n : ') . strip()
if len(n) > 0:
n = int(n) % len(s)
s = s + s[: n]
print(s) jackz007 发表于 2019-11-15 00:04
s = input('输入字符串 s : ') . strip()
if len(s) > 0:
n = input('输入循环左移次数n : ') . strip()
if len(n) > 0:
n = int(n) % len(s)
s = s + s[: n]
print s
用例测试结果 运行时间 占用内存 提示 得分
用例1未通过 0ms 0kb
程序异常,exit code非0
0
用例2未通过 0ms 0kb
程序异常,exit code非0
0
为什么还是错误 MYXY 发表于 2019-11-15 12:05
s = input('输入字符串 s : ') . strip()
if len(s) > 0:
n = input('输入循环左移次数n : ')...
不好意思,我的代码是在 Python 2 下写的,在 Python 3 下运行确实会有问题,现在已经改好了,代码还在 5 楼,请楼主再试。 jackz007 发表于 2019-11-15 13:25
不好意思,我的代码是在 Python 2 下写的,在 Python 3 下运行确实会有问题,现在已经改好了, ...
还是报错, 本帖最后由 jackz007 于 2019-11-15 18:53 编辑
MYXY 发表于 2019-11-15 18:39
还是报错,
那你在 Python 3 环境中实际运行过吗?
如果再报错,唯一最大的可能就是文件编码了,试试下面的代码呢?
注意,文件的实际编码必须与声明相符,所以,务必用附件中的代码文件再试。 MYXY 发表于 2019-11-15 18:39
还是报错,
exit code非0 本帖最后由 jackz007 于 2019-11-15 18:57 编辑
MYXY 发表于 2019-11-15 18:47
exit code非0
你是怎么运行的?我希望的运行方式是开出 CMD 窗口,用:
Python x.py
命令行来运行代码
exit code 是不是 0 不用太在意,因为那只是 Python 解释器的退出状态,并不能说明什么,只要代码能完整运行到底就 ok 了。 jackz007 发表于 2019-11-15 18:55
你是怎么运行的?我希望的运行方式是开出 CMD 窗口,用:
命令行来运行代码
温馨提示:
1.本次作业属于Online Judge题目,提交后由系统即时判分。
题目是慕课网的作业 本帖最后由 jackz007 于 2019-11-15 20:59 编辑
MYXY 发表于 2019-11-15 20:27
温馨提示:
1.本次作业属于Online Judge题目,提交后由系统即时判分。
原来你不是学知识,纯粹应付差事,而且,自己也根本没是非判断能力,完全依赖外援,本坛居然有阁下这种人,我也是醉了! jackz007 发表于 2019-11-15 20:57
原来你不是学知识,纯粹应付差事,而且,自己也根本没是非判断能力,完全依赖外援,本坛居然有 ...
让你失望了很抱歉
我还是想为自己辩解下
我的基础很差,跟不上视频的进度,我刚刚看到这个题目的时候,甚至想不到是用‘切片’操作来达到左移结果。
我思考后得出
s=str('abcd')
n=int(2)
print(s+s)
这个我在PyChamy上运行是得到了cdab的结果
但是放到作业上报错
我来到论坛提问
1楼大佬告诉我要用s=str(input('abcd'))这样的格式
我把代码改成了
s=str(input('abcd'))
n=int(input(2))
print(s + s[:n]
但是还是不行
之后看到了你的回答,我复制过去是想得到一个参考答案,并不是为了应付差事。就算这个作业不做也不影响我继续看慕课的课程啊。
页:
[1]