【问题标题】:Please help me finding Errors In this code请帮我查找此代码中的错误
【发布时间】:2021-08-31 21:44:42
【问题描述】:

我在以下代码中遇到了错误。 我正在尝试在数组中打印每个“评级”,但它不起作用。

PlayListRatings = [10, 9.5, 10, 8, 7.5, 5, 10, 10]
i = 0
Rating = PlayListRatings[0]

While (i < len(PlayListRatings) and Rating >= 6) :
    Rating = PlayListRatings [i]
    print(Rating)
    i=i+1
    ```

【问题讨论】:

  • 我看到语法和缩进错误。
  • ...和大写错误。请描述您看到的错误。
  • 告诉我们什么时候出错,尤其是确保您发布的代码确实显示了错误。如果您复制此代码,您将看到它失败并出现语法错误。如果这是您的问题,您应该包含回溯错误消息,以便我们也能看到。
  • 你的问题太笼统了。请更具体地写出究竟是什么不起作用以及您的错误是什么。

标签: python python-3.x while-loop


【解决方案1】:

您的问题和代码让我有点困惑。你说你想打印数组中的所有评级?如果是这样,那你为什么需要第二个条件?!只需使用普通的 foreach 循环,如下所示:

PlayListRatings = [10, 9.5, 10, 8, 7.5, 5, 10, 10]
for each_value in PlayListRatings:
    print(each_value)

【讨论】:

    【解决方案2】:

    我认为由于关键字“While”的大写而出现错误。在 python 中,关键字 'while' 中没有任何大写字母。 尝试以这种格式重写代码:

    PlayListRatings = [10, 9.5, 10, 8, 7.5, 5, 10, 10]
    i = 0 
    Rating = PlayListRatings[0]
    while(i < len(PlayListRatings) and Rating >= 6):
      Rating = PlayListRatings [i] 
      print(Rating) 
      i=i+1
    

    这对我来说很好。

    【讨论】:

      【解决方案3】:

      代码中的关键字 while 不应为“While”。试试这个-

      PlayListRatings = [10, 9.5, 10, 8, 7.5, 5, 10, 10]
      i = 0 
      Rating = PlayListRatings[0]
      
      while (i < len(PlayListRatings) and Rating >= 6): 
          Rating = PlayListRatings [i] 
          print(Rating) 
          i=i+1
      

      【讨论】:

        【解决方案4】:

        this sandbox.中测试它

        您做错了什么是在while 循环中检查数字是否大于/等于6。这意味着,只要Rating 小于6,循环就会停止。

        其次,将Rating 初始化为数组的第一个元素。 你如何设置循环意味着在第一个循环中,array[0] 被打印,i 为 0。然后Rating 被设置为 array[i],then i增加。 下次循环进行时,这意味着将再次打印 array[0]。

        最后你使用While 而不是while。 python中的语法区分大小写,所以要注意大写的位置。

        PlayListRatings = [10, 9.5, 10, 8, 7.5, 5, 10, 10]
        i = 0
        Rating = 0
        while(i < len(PlayListRatings)):
            Rating = PlayListRatings [i]
            if(Rating >= 6):
                print(Rating)
            i=i+1
        
        

        【讨论】:

        • if 不是函数。你可以把if(Rating &gt;= 6):中的括号去掉,改写if Rating &gt;= 6:
        • @Matthias 很奇怪,它仍然在沙箱中提供了执行:/。无论如何,我很感激你的提醒,我已经有一段时间没有离开 c# 去 python了
        猜你喜欢
        • 2021-07-18
        • 2021-05-05
        • 2011-10-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多