在python中读取一行中的两个单独值

时间:2012-11-15 01:29:25

标签: python turtle-graphics

我需要你的帮助。到目前为止这是我的程序

import turtle
turtle.showturtle()

def turtle_interface():
    while True :
          n = 0
          instructions = input().split()
          i = instructions[0]
          if len(instructions) > 1:
              n = int(instructions[1])
              if i == 'forward' :
                  turtle.forward(n)
              elif i == 'backward' :
                  turtle.backward(n)
              elif i == 'left' :
                  turtle.left(n)
              elif i == 'right' :
                  turtle.right(n)
              elif i == 'quit' :
                  break
              elif i == 'new' :
                  turtle.reset()
              else :
                  continue

print('Control the turtle!')
turtle_interface()

正如您所看到的,当字符串后面没有[n]时,它会被忽略。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

我认为这是因为if len(instructions) > 1:测试。如果字符串后面没有[n],则只有一条指令,长度不会大于1.

你应该尝试这样的事情:

def turtle_interface():
    while True :
          n = 0
          instructions = input().split()
          i = instructions[0]
          if len(instructions) > 1:
              n = int(instructions[1])
              if i == 'forward' :
                  turtle.forward(n)
              elif i == 'backward' :
                  turtle.backward(n)
              elif i == 'left' :
                  turtle.left(n)
              elif i == 'right' :
                  turtle.right(n)
          elif i == 'new' :
              turtle.reset()
          elif i == 'quit' :
              break

请注意if i == 'new'

行的缩进和位置