0 python for-loop if-statement traversal
我的程序应该输出:Jack,Kack,Lack,Mack,Nack,Ouack,Pack和Quack.
suffix="ack"
prefix="JKLMNOPQ"
for i in prefix:
if prefix=="Q" or "O":
suffix="uack"
else:
suffix="ack"
print i + suffix
Run Code Online (Sandbox Code Playgroud)
但相反,它输出Juack,Kuack,Luack,Muack Nuack Ouack Puack Quack
小智 5
prefix(包含多个字母的字符串) - 而不是当前字符,i- 为单个字母.他们永远不平等.我建议更好的名字(这会使错误显而易见):prefixes = "JK..."和for prefix in prefixes:."O"使用它来强制转换为布尔值,而不使用任何比较运算符.如果prefix=="Q"为false,则转换"O"为布尔值 - 非空字符串被视为true.使用prefix == "Q" or prefix == "O"或prefix in ("Q", "O")(更好地扩展以获得更多替代品).你不会相信这个错误有多常见......是的,它碰巧使用了一些从英语借来的关键词,但它不是英语</ rant>| 归档时间: |
|
| 查看次数: |
283 次 |
| 最近记录: |