Python Help, Basic Computer Science

Assignment Help:
I need help! import cgi, cgitb
cgitb.enable()

HTML_head = ''Content-type: text/html\n\n''
HTML_top = ''''''
Restaurant Results
''

Restaurant Results

''''''
HTML_bottom = ''''

HTML_table=''''''






''''''
Restaurant_filename = ''restaurant.txt''

MasterList = [] # master list of dictionaries

# -------------------------- Main -----------------------------
def Main():
global MasterList
lines = ReadData()
if lines == '''':
return CreateMasterList(lines)
form = cgi.FieldStorage()
group = ''''
if ''group'' in form:
group = form[''group''].value
if group == ‘checko’:
restaurant=''''
if ''restaurant'' in form:
restaurant= form[''restaurant''].value
Printchecko(restaurant)
elif group == ''subgroup'':
state=form[''group_borough''].value
cuisine=form[''Cuisine''].value
city=form[''cityyy’].value
number=form[''number''].value
print(state,cuisine,city,number)
elif group == ''total'':
state = form[''all_borough''].value
print state
else:
PrintError(''ERROR: Sorry. Restaurant is not an option.'')

# ------------------------- PrintError --------------------------
def PrintError(msg):
print HTML_head+HTML_top+''

''+msg+HTML_bottom

# ---------------------- ReadData --------------------------------
def readdata():
f=open(''restaurants.txt'',''r'')
s=f.read()
f.close()
y=s.replace(''Reserve Now'','''')
k=y.strip()
l=k.split(''\n'')
new=[]
x=0
while x if len(lines) < 2:
PrintError(''ERROR: Bad dataset in ''+ Restaurant_filename)
return ''''
elif:
new+=[l[x].split(''\t'')]
x+=1
return new
lines = lines[1:] # ignore column headers
return lines

# ------------------------- CreateMasterList -------------------
def CreateMasterList(lines):
global MasterList
for line in lines:
d = {}
fields = line.split('','')
if len(fields) >= 6:
if ''"'' in line:
words = line.split(''"'')
d[''name''] = words[1].strip()
else:
d[''name''] = fields[1].strip()
if fields[0] == ''s'':
d[''state'']=False
else:
d[''state'']=True
d[''city'']=(fields[-3])
d[''cuisine'']=(fields[-1])])
MasterList.append(d)

# ------------------------- PrintIndividual ---------------------
def Printchecko(restaurant):
lookfor = restaurant.strip().lower()
sortlist=[]
for d in MasterList:
if lookfor in d[''name''].lower():
d=Highlightrestaurant(d,lookfor)
sortlist.append([d[''name''].lower(),d])
sortlist.sort()
header=''Restaurant with names containing "''+ restaurant+''"''
PrintTable(header,sortlist)

# --------------------------- HighlightRestaurant-------------------
def HighlightRestaurant (d,lookfor):
front=''''
back=''
''
mixed=d[''name'']
low=mixed.lower()
ln=len(lookfor)
new_mixed=''''
while lookfor in low:
pos=low.find(lookfor)
new_mixed=mixed[:pos]+front+mixed[pos:pos+ln]+back
mixed=mixed[pos+ln:]
low=low[pos+ln:]
new_mixed+=mixed
d[''name-HTML'']=new_mixed
return d

# ------------------------ PrintTable ----------------------------
def PrintTable(header,sortedlist):
s=HTML_head+HTML_top
s+=''

''+header+''

''
s+=HTML_table
if len(sortedlist)==0:
s+=''''
for i in range(5):
s+=''''
else:
n=1
for i in range(5):
s+=''''
s+=''\n''
n+=1
s+=''
Restaurant nameStateCityCuisine
  No matches s
''
s+=HTML_bottom
print s
Main()

Related Discussions:- Python Help

Electronic digital, Design a BCD to excess 3 code converter using minimum n...

Design a BCD to excess 3 code converter using minimum number of NAND gates.

Web browser, Web Browser:   A Web browser is software application that ...

Web Browser:   A Web browser is software application that enables you to find, retrieve, and display information available on the World Wide Web (WWW). Browser also allows you

Define Shortest-Job-First (SJF) Scheduling ?, • It is also known as Shortes...

• It is also known as Shortest-Process-Next (SPN). • Shortest-Job-First (SJF) is a non-preemptive order in which waiting job (or process) with the smallest predictable run-time-to-

Sequential reading in fcb files, Earlier than anything we must describe the...

Earlier than anything we must describe the file transfer area or DTA. With the intention of sequentially read we use the 14H function of the 21Hinterruption.The register to be read

#title.flow chart., akrenda club has just opened their jym and pools servic...

akrenda club has just opened their jym and pools services. They need a system that can keep record of total sales of each. The club has silver and gold members. The silver members

Data mining test, Use the methods of C4.5 to design a decision tree

Use the methods of C4.5 to design a decision tree

Enterprise resource planning, ENTERPRISE RESOURCE PLANNING What ...

ENTERPRISE RESOURCE PLANNING What has football got to do with it? asks management guru Michael Hammer in his latest best seller Beyond Reengineering. The answer is almos

C++, whats the out put of int main(){ int n=310; funcone(n); functwo(&n); ...

whats the out put of int main(){ int n=310; funcone(n); functwo(&n); cout return 0; } void funcone(intn) n=240; } void func two(intn*) { n=120; }

Assembly language, Assembly language : Assembly language is a low level...

Assembly language : Assembly language is a low level programming language similar to machine language, but far easier to write and understand because machine language binary in

CAI, what is CAI? explain its pitfalls.

what is CAI? explain its pitfalls.

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd