代码未终止并一直在寻找输入

时间:2017-09-02 11:44:20

标签: python-3.x

用于输入

课程
TRAN~变身〜1~2011-2012~Minerva McGonagall
CHAR~魅力~1~2011-2012~Filius Flitwick
学生
SLY2301~Hannah Abbott
SLY2302~Euan Abercrombie
SLY2303~Stewart Ackerley
SLY2304~Bertram Aubrey
SLY2305〜艾利
SLY2306~Malcolm Baddock
SLY2307~马库斯贝尔比
SLY2308~凯蒂贝尔
SLY2309~天狼星猎户座黑色 EndOfInput

我的代码一直在寻找输入。为什么呢?

info= []
line= input()
while(True):
      while line!='Students':
            line=input()
      if line=='Students':
            line=input()
            while line!='EndOfInput':
                  info.append(line.split('~'))
                  line=input()
      elif line=='EndOfInput':
          break
      else:
          break
print(info)

1 个答案:

答案 0 :(得分:0)

只需查看代码的这一部分。

while line!='EndOfInput':
              info.append(line.split('~'))
              line=input()

很抱歉,但这是非常糟糕的写作。您可以用

替换它
import sys
for line in sys.stdin:
    info.append(line.split('~'))

使用此功能,在用户按下 ctrl + d 之前,它会从用户处获取输入并将其附加到信息列表。