鱼C论坛

 找回密码
 立即注册
查看: 2054|回复: 15

[已解决]为什么不选D

[复制链接]
发表于 2020-12-23 20:08:43 | 显示全部楼层 |阅读模式
1鱼币
[attach
最佳答案
2020-12-23 20:08:44
a b c q 他们是一次性输进去的,是一个字符串,退出是单独输入Q或q
QQ截图20201223200042.png

最佳答案

查看完整内容

a b c q 他们是一次性输进去的,是一个字符串,退出是单独输入Q或q
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-23 20:08:44 | 显示全部楼层    本楼为最佳答案   
a b c q 他们是一次性输进去的,是一个字符串,退出是单独输入Q或q
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-23 20:20:41 | 显示全部楼层
一次性输入 abcq
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-23 20:27:13 | 显示全部楼层
明显不对吧。。。你有自己写出来试过吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-23 20:45:57 | 显示全部楼层
题没说清楚,是一次性输入abcq所以不会触发,好好的编程,硬是变成了应试考试,建议不写这种无聊的题目
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-23 22:06:09 | 显示全部楼层
这种应试太没意思了,答案很重要吗?知道程序怎么运行的不就得了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-24 10:55:34 | 显示全部楼层
s = input()  # 先赋值,后判断。所以,即使按了Q退出键,也会被赋值到变量里面输出的。


print(s)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-24 15:46:41 | 显示全部楼层
实际上哪个答案都是错的,如果输入“a b c q”,控制台应该显示“请输入一个字符串,按Q结束:a b c q”,并且没有任何结果,程序也没有结束
如果输入a 回车 b 回车 c 回车 q 回车,控制台应该显示:
请输入一个字符串,按Q结束:a
a
请输入一个字符串,按Q结束:b
b
请输入一个字符串,按Q结束:c
c
请输入一个字符串,按Q结束:q
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-24 16:49:38 | 显示全部楼层
z5560636 发表于 2020-12-24 10:55
s = input()  # 先赋值,后判断。所以,即使按了Q退出键,也会被赋值到变量里面输出的。

看清楚,print(s)是在循环里面得
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-24 17:07:25 | 显示全部楼层
风丶少 发表于 2020-12-24 16:49
看清楚,print(s)是在循环里面得

好吧,看错了, a b c q   按回车时候才表示执行完了 s = input()

只是单个字符比较而已,  ‘a b c q’ == ‘Q’  or  ‘a b c q’ == ‘q’

不会成立,所以不会跳出。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-25 09:47:06 | 显示全部楼层
脑筋急转弯
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-25 17:03:01 | 显示全部楼层
如果输入Q或q才会停止循环,否者输入什么打印什么。Q和q本身也在字符串内他是条件不是命令(萌新)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-5 20:31:24 | 显示全部楼层
本帖最后由 一个账号 于 2021-1-7 20:15 编辑

不要理解错了,这个程序是判断整个字符串为 “q” 的时候才会结束循环

运行以下代码输入 “a b c q”  可以得到 “a b c ” 的结果:
while True:
    s = input("请输入:")

    for i in s:
        if i != "q" and i != "Q":
            print(i, end="")
            continue
        break

    print()



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-6 12:24:39 | 显示全部楼层
这里的输入是:abcq
而不是:q 所以不会结束
这个if判断是输入字符串判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-6 16:38:18 | 显示全部楼层
题上都说了输入的是字符串,到q结束,后面那个判断就是在实现结束输入的功能,然后下一句是输出字符串,你输入的字符串是abcq,自然也输出它
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-8 09:43:33 | 显示全部楼层
学校老师出的题吧?严格的说出的有问题。 字符 a b c q 这是误导,因为学过c 和java 都知道,字符是指单个字符。而"abcq"在Python 中也被称为字符串而不是字符。它跟你纠口条子,说a 和d 哪个对都是有理。这题是考中国出题人的智慧而不是考程序。如果是用英文 character 和string 完全不同,就不会出这种问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 20:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表