2024-03-29 12:11:44 发布
网友
我的程序应该输出: 杰克,卡克,拉克,麦克,纳克,乌克,打包,嘎嘎。在
suffix="ack" prefix="JKLMNOPQ" for i in prefix: if prefix=="Q" or "O": suffix="uack" else: suffix="ack" print i + suffix
但它却输出 胡克,夸克,卢克,穆克-努克 哎哟 普瓦克 庸医
prefix == "Q" or "O"完全错误。在
prefix == "Q" or "O"
"JKLMNOPQ"
"Q"
==
or
(prefix == "Q") or "O"
"O"
如果你能修好这些,它应该能起作用。在
我想应该是if i=="Q" or i=="O"。在
if i=="Q" or i=="O"
您应该在循环中对比i,而不是{}。即使与if prefix == 'Q' or 'O'进行比较,if prefix == 'Q' or 'O'始终是{},因为{}不是{}。这应该是if i == 'Q' or i == 'O'。在
i
if prefix == 'Q' or 'O'
if i == 'Q' or i == 'O'
prefix
prefixes = "JK..."
prefix=="Q"
prefix == "Q" or prefix == "O"
prefix in ("Q", "O")
prefix == "Q" or "O"
完全错误。在"JKLMNOPQ"
,因此永远不会等于"Q"
。我不是想找你==
比or
结合得更紧密,因此它将计算为(prefix == "Q") or "O"
。"O"
总是真的,所以后缀总是“uack”`如果你能修好这些,它应该能起作用。在
我想应该是
if i=="Q" or i=="O"
。在您应该在循环中对比}。即使与},因为{}不是{}。这应该是
i
,而不是{if prefix == 'Q' or 'O'
进行比较,if prefix == 'Q' or 'O'
始终是{if i == 'Q' or i == 'O'
。在prefix
(一个包含多个字母的字符串)与单个字母进行比较,而不是当前的字符i
。他们永远不平等。我建议使用更好的名称(这会使错误显而易见):prefixes = "JK..."
和{"O"
强制为布尔值。如果prefix=="Q"
为false,则它将"O"
转换为布尔值,非空字符串被视为true。使用prefix == "Q" or prefix == "O"
或prefix in ("Q", "O")
(对于更多的替代方案,这两种方法的伸缩性更好)。你不会相信这个错误有多普遍。。。是的,它碰巧使用了一些从英语中借用的关键字,但它不是英语<;/rant>相关问题 更多 >
编程相关推荐