all_courses=open("E:/we/aa.txt","r").readlines()
completed_ones=open("E:/we/aaa.txt","r")
read_completed_ones=completed_ones.readlines()
for ankosh in read_completed_ones:
the_big=ankosh
for line in all_courses:
splitted=line.split(",")
the_max_number=len(splitted)
if the_max_number>2:
courses_remaining=splitted[2]
courses_remaining_splitted=courses_remaining.split("|")
if courses_remaining_splitted==['']:
print courses_remaining_splitted
ankosh2=splitted[0]
我想要打印一个程序,当我提供完成的大学课程,然后剩余的课程和我可以采取的,但我卡住,不知道如何继续,我想打印线,包含[“”],course_remaining_splitted [2]和courses_remaining_splitted [0]不等于任何已完成的课程,因此它可能属于“允许采取的课程”的字典。轻松新手,任何奇怪的代码随意评论,我喜欢从代码错误中学习:) 感谢帮助
已完成课程的样本: http://ranger.uta.edu/~kamangar/CSE-1310-FA13/LinkedDocuments/sample_completed_courses.txt
所有课程: http://ranger.uta.edu/~kamangar/CSE-1310-FA13/LinkedDocuments/required_courses.csv
答案 0 :(得分:0)
import urllib2
completed_courses_url = 'http://ranger.uta.edu/~kamangar/CSE-1310-FA13/LinkedDocuments/sample_completed_courses.txt'
required_courses_url = 'http://ranger.uta.edu/~kamangar/CSE-1310-FA13/LinkedDocuments/required_courses.csv'
completed_courses_set = set([x.strip() for x in urllib2.urlopen(completed_courses_url)])
for required_course in urllib2.urlopen(required_courses_url):
if required_course[0] != '#':
(course,category,prerequisites,notes) = required_course.split(',')
if set(prerequisites.split('|')).intersection(completed_courses_set):
print required_course
$ python test.py
MATH 1426,preprofessional,MATH 1323,
MATH 2425,preprofessional,MATH 1426,
PHYS 1443,preprofessional,MATH 1426,
CSE 1320,preprofessional,CSE 1104 | CSE 1105 | CSE 1310 | MATH 1323,
CSE 2315,preprofessional,CSE 1310 | MATH 1426,
IE 3312,专业,MATH 1426,
MATH 3330,专业,MATH 1426,