关于P5705中Python语言input()的问题
  • 板块学术版
  • 楼主pangdundun
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/5/29 16:55
  • 上次更新2023/10/28 00:20:43
查看原帖
关于P5705中Python语言input()的问题
252947
pangdundun楼主2022/5/29 16:55

链接: https://www.luogu.com.cn/problem/P5705

前两次本地Python 3.9.7测试通过,Python 3语言提交,第三次使用C语言提交。除第一次WA外,其余两次均AC。

第一次提交

评定: WA

得分: 0

错误信息(5个测试点): Wrong Answer.wrong answer On line 1 column 1, read (ASCII 13), expected 5/1/8/9/6.

代码:

s = input()
print(s[::-1])

第二次提交

代码:

s = input().split()[0]
print(s[::-1])

第三次提交

代码:

#include <stdio.h>

int main()
{
    char s[5];
    scanf("%s", s);
    for (int i = 4; i >= 0; i--) {
        printf("%c", s[i]);
    }
    return 0;
}

看样子第一次提交中接收到了一个空白值ascii 13,没过判定,于是第二次中使用split()将空白处理掉,通过了判定。第三次使用C语言提交,没有做特别处理,通过了判定。

同样的测试数据,比较Python 3的input()与C的scanf(),Python 3中需要对输入做处理而C中不需要,因为什么呢。

刚开始接触Python,也可能是我对input()没理解好,希望得到解答。

各位可以拿上面三个代码做测试,我想应该可以得到相同的结果。

2022/5/29 16:55
加载中...