输出字符串中部分字符 编写一段能够输出原字符串中某个字符(如果是多次出现的字符,则为第一次)出现前所有字符的代码。字符输出的方式不限,可以一个一个输出,也可以一起输出;可以一行一个输出,也可以输出在一行,但是必须是指定字符前面的所有字符都要有(包括空格和标点符号)。 要求: (1)程序运行开始后,用户通过键盘输入截止的单个字符(格式为字符串),提示信息为“请输入截止字符:”; (2)必须用循环结构; (3)如果未遇到输入的截止字符,则直接输出原字符串所有内容; (4)如果遇到输入的截止字符,则终止循环,结束程序; (5)原字符串需要在程序中明确,为” Reading a good book, like and many noble people talk”,程序中直接引用,无需用户通过键盘输入。 (6)对于多次出现的字符,只需要输出第一次出现截止字符之前的字符;如:输入的截止字符为o,需要输出的字符中必须包含”Reading a g“(含空格)才为正确。 示例: 程序运行后提醒用户输入截止字符;从原字符串的第1个位置起,如果不是刚才输入的截止字符,则输出原字符串中的字符,如果遇到了输入的截止字符,则终止循环,结束程序。 请输入截止字符:a R e 友情提示: (1)由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。 (2)用户输入语句会在控制台自动输出,不影响评测结果,如下图所示:

正确答案:原串s="Reading a good book, like and many noble people talk";c=input("请输入截止字符:");for ch in s: 若ch==c则break,否则print(ch,end="")。循环遇截止字符即停,未遇则输出全部。
答案解析
评分标准:
(1)用input()函数输入截止字符;(2分)
(2)有循环语句(正确使用for或者while);(2分)
(3)使用了if双分支条件语句或两次单分支if进行判断;(2分,两个分支各1分)
(4)使用了break语句;(2分)
(5)未到截止字符前,输出对应字符;(2分)
(6)if条件语句中的条件正确;(2分)
(7)程序运行正常,输出符合题意。(3分)
说明: input()默认读入的为字符串;从原字符串的第1个位置起,到输入的截止字符前为止,故循环枚举原字符串中的每一个字符,需要用if条件语句进行判断其和截止字符是否相同,如果不相同,则输出,继续枚举原字符串的下一个位置;如果if条件语句判断其和截止字符相同,则需执行break语句,中止循环并结束程序。
试卷来源:202503 青少年软件编程等级考试Python二级真题