【问题标题】:Zybook 4.17 LAB: Flip a coin (EOF while parsing error)Zybook 4.17 LAB:抛硬币(解析错误时出现 EOF)
【发布时间】:2022-10-07 12:57:29
【问题描述】:

我的代码有问题,我不断收到错误EOF while reading a line。这是我唯一的错误。第一个测试工作正常,以下标记为单元测试的测试因 EOF 错误而失败。

这是我的代码

import random

def heads_or_tails():
      number_of_flips = int(input())
      for i in range(0, number_of_flips):
        
        flip = random.randint(0, 1)
        if (flip == 0):
          print(\"heads\")
        else:
          print(\"tails\")

if __name__ == \'__main__\':
        random.seed(1)
        heads_or_tails()

我已经尝试将输入代码放在__name__ == \'__main__ 行下方的代码块中。

These are the test conditions, I am required to keep the input statement

  • 您必须从文本模式控制台运行代码才能输入输入。
  • 请编辑您的问题,以便标题将描述您的问题,因为“一些实验室掷硬币”的描述很差。

标签: python


【解决方案1】:

input() 没有输入时收到EOF while reading a line.

在您的测试中,您应该传递一个默认值(取决于实际的单元测试和您要检查的内容),而不是要求用户输入。

【讨论】:

    【解决方案2】:
    import random
    
    def heads_or_tails():
        # Type your code here. 
        flip = random.randint(0,1)
        if(flip == 0):
            flip = 'heads'
        else:
            flip = 'tails'
        return flip
    
    
    if __name__ == '__main__':
        random.seed(1)
        number_of_flips = int(input())
    
        # Type your code here. 
        for n in range(number_of_flips):
            print(heads_or_tails())
    

    #你必须让函数返回字符串'heads'或'tails' #and for 循环不应该在函数中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 2017-07-15
      相关资源
      最近更新 更多