【问题标题】:I need help for this program我需要这个程序的帮助
【发布时间】:2018-04-07 23:30:02
【问题描述】:

您正在玩战舰,但您总是忘记您已经选择了网格中的哪些方格!编写一个程序来帮助您跟踪您击中了哪些方格。你的程序应该读取坐标,每行一个。如果您以前没有尝试过该方块,您的程序应该打印出 Hit 。如果你已经尝试过这些坐标,你应该打印出你已经选择了那个正方形。 您的程序应该一直运行,直到输入一个空行,并且应该像这样工作:

Guess: A3
Hit A3
Guess: C4
Hit C4
Guess: A3
You've chosen that square already
Guess: B2
Hit B2
Guess: 

【问题讨论】:

  • 别指望我们做你的功课,先试试再回来
  • 您似乎在寻求一项作业的完整解决方案。这种问题在这里是off-topic。您必须先尝试自己编写一些代码,然后当您在自己的尝试中遇到困难时,请返回这里并发送 summary of the work you've done so far 来解决问题,以便其他人可以帮助您。

标签: python-3.x


【解决方案1】:

这是一个执行所需任务的函数。请记住,没有随之而来的错误检查,它实际上并没有根据敌人所在的一组图块检查输入。

def battleship():
    guesses = []
    while True:
        guess = str(input("Guess: "))
        if guess in guesses:
            print("You've chosen that square already")
        else:
            print("Hit {0}".format(guess))
            guesses.append(guess)

示例输出:

>>> battleship()
Guess: A3
Hit A3
Guess: C4
Hit C4
Guess: A3
You've chosen that square already
Guess: B2
Hit B2
Guess: 

【讨论】:

    【解决方案2】:

    这可能会帮助你完成作业:

    Hit_Square = []
    user_input = ()
    
    while user_input != "":
      user_input = input("Guess: ")
      if user_input == "":
        break
      if user_input not in Hit_Square:   
    
        Hit_Square.append(user_input)
        print ("Hit", user_input)
    
      else: 
           print("You've chosen that square already")  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多