我正在尝试编写一个函数 xyz(a) 循环遍历 no.s 0 通过 a 和 returns "Jackpot" 如果它找到数字 777 否则“再试一次
I am trying to write a function xyz(a) that loops through the no.s 0 through a and returns "Jackpot" if it finds the number 777 .or else "Try again
def xyz(a):
i=0
while i>=a:
if i==777:
return"Jackpot"
else:
return"Try again"
i+=1
当我 运行 时上面的代码没有输出。无法弄清楚缺少什么
错误较多!
- 如果你在递增前return,你将永远不会有递增。
- 如果在递增后 return,
while
循环没有意义。
解决方案
Simple if else
def xyz(a):
if a==777:
return "Jackpot"
else:
# i+=1
# return "Try again"
return ("Try Again")
由于您没有提供任何关于您到底想做什么的信息,我所能做的就是根据我从您的代码中推断出的内容给您一些建议。请注意,您正在返回一个值,这意味着您总是在第一次迭代时停止执行 while 循环(如果您 100% 确定该函数的实现并且您想要的输出是 'try again' 那么您必须 'catch' 函数的返回值并打印)。还要检查 while 条件。 I 初始化为 0,因此(至少对我而言)检查 i 是否小于 a 是有意义的(但这同样来自我对代码的直觉)。
def xyz(a):
i=0
while i>=a:
if i==777:
return"Jackpot"
else:
return"Try again"
i+=1
当我 运行 时上面的代码没有输出。无法弄清楚缺少什么
错误较多!
- 如果你在递增前return,你将永远不会有递增。
- 如果在递增后 return,
while
循环没有意义。
解决方案
Simple
if else
def xyz(a):
if a==777:
return "Jackpot"
else:
# i+=1
# return "Try again"
return ("Try Again")
由于您没有提供任何关于您到底想做什么的信息,我所能做的就是根据我从您的代码中推断出的内容给您一些建议。请注意,您正在返回一个值,这意味着您总是在第一次迭代时停止执行 while 循环(如果您 100% 确定该函数的实现并且您想要的输出是 'try again' 那么您必须 'catch' 函数的返回值并打印)。还要检查 while 条件。 I 初始化为 0,因此(至少对我而言)检查 i 是否小于 a 是有意义的(但这同样来自我对代码的直觉)。