【发布时间】:2021-04-13 01:45:40
【问题描述】:
长话短说,我要完成这个练习:
在罗伯特·麦克洛斯基 (Robert McCloskey) 的《为小鸭子让路》(Make Way for Ducklings) 中, 小鸭是 Jack、Kack、Lack、Mack、Nack、Ouack、Pack 和 Quack。 此循环尝试按顺序输出这些名称。
当然,这不太对,因为 Ouack 和 Quack 拼写错误。你能解决它吗?
给我的代码:
prefixes = "JKLMNOPQ"
suffix = "ack"
for p in prefixes:
print(p + suffix)
经过不同的尝试,我设法解决了这个问题:
prefixes = "JKLMNOPQ"
suffix = "ack"
for p in prefixes:
if p=="O" or p=="Q":
print(p + "u" + suffix)
else:
print(p + suffix)
对我来说,它看起来有点“硬编码”。您认为这是一个有效的解决方案吗?
然后我试着自己做一些类似的事情,只是为了理解。 于是我写了如下代码:
list=["ABCD"]
for l in list:
if l =="A" or l=="B":
print("ok")
else:
print(l)
基本上我希望它在 L 等于 A 或 B 和 L 时打印“ok”(所以“C”和“D”)否则。 但输出却是:
ABCD
如果我删除最后一个打印命令,则不会打印任何输出。 怎么了 ?它看起来与我解决的非常相似,但仍然无法按我的预期工作。 我错过了什么? 谢谢大家,新年快乐。
【问题讨论】:
-
您好,您现在已经有了答案,您可以考虑accepting an answer 来奖励给您最有帮助的评论。
标签: python loops for-loop if-statement