我有一个python脚本,我提供所有输入一次然后打印一些输出。现在,我期望的是这种格式
input 1
input 2
input 3
output 1
output 2
现在我的问题是当我运行python脚本并提供输入(在终端中粘贴它)时,输出在打印“输出1”后暂停,我按Enter键再次打印它。
from sets import Set
test_cases = int(raw_input())
while test_cases > 0:
cats_vs_dogs = {}
input_ = raw_input()
input_ = input_.split(" ")
total_cats = input_[0]
total_dogs = input_[1]
votes = int(input_[2])
remove_count = 0
cats = Set()
dogs = Set()
for i in range(1, int(total_cats) + 1):
cats.add('C' + str(i))
for i in range(1, int(total_dogs) + 1):
dogs.add('D' + str(i))
for i in range(0, votes):
input_ = raw_input()
input_ = input_.split(" ")
cat = input_[0]
dog = input_[1]
if cat in cats:
cats.remove(cat)
elif cat in dogs:
dogs.remove(cat)
if dog in cats:
cats.remove(dog)
elif dog in dogs:
dogs.remove(dog)
if dog not in cats_vs_dogs:
# now simply add the vote
if cat in cats_vs_dogs:
temp = list(cats_vs_dogs[cat])
temp.append(dog)
cats_vs_dogs[cat] = temp
else:
# cat was not found
cats_vs_dogs[cat] = list([dog])
else:
# relevant dog is present, remove corresponding cat
dogs_list = list(cats_vs_dogs[dog])
if cat in dogs_list:
# remove this entry and don't save it
dogs_list.remove(cat)
cats_vs_dogs[dog] = dogs_list
remove_count += 1
else:
# no reverse entry exists so simply add
if cat not in cats:
cats_vs_dogs[cat] = list([dog])
else:
cats_list = list(cats_vs_dogs[cat])
cats_list.append(dog)
cats_vs_dogs[cat] = cats_list
# now update the count
for k in cats_vs_dogs.keys():
remove_count += len(cats_vs_dogs[k])
print remove_count + len(cats) + len(dogs)
# print 'cats: ', cats
# print 'dogs: ', dogs
test_cases -= 1
cats.clear()
dogs.clear()
cats_vs_dogs.clear()
我提供的输入是:
2
1 1 2
C1 D1
D1 C1
1 2 4
C1 D1
C1 D1
C1 D2
D2 C1
我得到的输出是:
...
D2 C11
<system pause> I press enter
3
而我希望它像
一样 D2 C1<last line>
1
3
答案 0 :(得分:0)
好吧,我试图找出你的代码到底做了什么,但我可以提供一些你可能会尝试的建议:
range()
时,您无需输入零,因此range(0,6)
与range (6)
相同。raw_input()
时,包含某种提示通常会很有帮助。它也有助于调试。通过这种方式,您可以判断您所看到的暂停是否实际上正在等待输入。一个例子是test_cases = raw_input("Enter number of test cases: ")
。print
语句包含在while
块中。所以它可能会打印一些东西,然后回到整个代码。尝试将其拉出街区,看看会发生什么。