我正在尝试编写一个函数 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

当我 运行 时上面的代码没有输出。无法弄清楚缺少什么

错误较多!

  1. 如果你在递增前return,你将永远不会有递增。
  2. 如果在递增后 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 是有意义的(但这同样来自我对代码的直觉)。