-
lab4q1.py
import tkinter as tk
from Triangle3a import areaTriangle
def drawTriangle(x1, y1, x2, y2, x3, y3,area,canvas):
canvas.create_line(x1,y1,x2,y2)
canvas.create_line(x1,y1,x3,y3)
canvas.create_line(x2,y2,x3,y3)
canvas.create_text(x1-30,y1-30,text="( %d, %d )"%(x1,y1))
canvas.create_text(x2-30,y2+30,text="( %d, %d )"%(x2,y2))
canvas.create_text(x3-30,y3+30,text="( %d, %d )"%(x3,y3))
canvas.create_text((x1+(x2+x3)//2)//2,
(y1+(y2+y3)//2)//2,
text="Area : %.2f"%area)
canvas.pack()
def main():
root = tk.Tk()
canvas = tk.Canvas(height=500,width=500)
x1 = int( input("Please enter coordinate x1: ") )
y1 = int( input("Please enter coordinate y1: ") )
x2 = int( input("Please enter coordinate x2: ") )
y2 = int( input("Please enter coordinate y2: ") )
x3 = int( input("Please enter coordinate x3: ") )
y3 = int( input("Please enter coordinate y3: ") )
area = areaTriangle(x1, y1, x2, y2, x3, y3)
if area != None:
drawTriangle(x1, y1, x2, y2, x3, y3,area,canvas)
root.mainloop()
if __name__ == '__main__':
main()
-
lab4q2.py
def caesarCipher(originalText, shift):
cipherText = ''
for originalChar in originalText:
if originalChar.isalpha():
cipherChar = ord(originalChar) + shift
if originalChar.islower():
if cipherChar > ord('z'):
cipherChar -= 26
cipherText += chr(cipherChar)
elif originalChar.isupper():
if cipherChar > ord('Z'):
cipherChar -= 26
cipherText += chr(cipherChar)
return (cipherText)
def main():
print(1,caesarCipher('abc',3))
print(2,caesarCipher('xyz',3))
print(3,caesarCipher('ABC',3))
print(4,caesarCipher('XYZ',3))
print(5,caesarCipher('aBc',3))
print(6,caesarCipher('xYz',3))
print(7,caesarCipher('AbC',3))
print(8,caesarCipher('XyZ',3))
if __name__ == '__main__':
main()
sblogon.py
#!C:\Users\tchan\AppData\Local\Programs\Python\Python38-32\python.exe
import time
import cgi
from lab4q2 import caesarCipher
html5top='''
<!-- {fname} -->
<!DOCTYPE html>
<html>
<head>
<title>{title}
</head>
<body>
<h1>{header}
'''
html5bottom='''
</body>
</html>
'''
print (html5top.format(fname='sblogon.py', title='CGI',header='Simple Billing App'))
form = cgi.FieldStorage()
if 'name' in form:
if form['password'].value == caesarCipher('xyz',3):
print ("<h1>Welcome, %s!" % form[ 'name' ].value)
print('''
<p /><ul>
<li><a href=sbsort.py>Customer Table</a></li><br />
<li><a href=sbsearch.py>Search Customer</a></li>
</ul>
<p />
''')
else: print ("<h1>password incorrect %s!" % form[ 'password' ].value)
print (time.ctime( time.time() ))
print (html5bottom)
-
lab4q3.py
def powerfunction(n,p):
if p <= 0:
return 1
else:
return n * powerfunction(n,p-1)
def main():
for i in range(10):
print(i,' ** ',i,' is ',powerfunction(i,i),' == ',i**i)
if __name__ == "__main__":
main()
-
lab4q4.py
import sys
def isPalindrome(s):
if len(s) <= 1:
return True
else:
return s[0] == s[len(s)-1] and isPalindrome(s[1:len(s)-1])
def main(argv):
print(isPalindrome(argv[1]))
if __name__ == "__main__":
main(sys.argv)
-
lab4q5.py
import tkinter as tk
def midPnt(pt1,pt2):
return [(pt1[0]+pt2[0])/2,(pt1[1]+pt2[1])/2]
def SierpinskiTri(pt1,pt2,pt3,level):
if level == 0:
canvas.create_line(pt1[0],pt1[1],pt2[0],pt2[1])
canvas.create_line(pt1[0],pt1[1],pt3[0],pt3[1])
canvas.create_line(pt2[0],pt2[1],pt3[0],pt3[1])
canvas.pack()
else:
SierpinskiTri(pt2,midPnt(pt2,pt3),midPnt(pt1,pt2),level-1)
SierpinskiTri(midPnt(pt2,pt3),midPnt(pt1,pt3),pt3,level-1)
SierpinskiTri(pt1,midPnt(pt1,pt2),midPnt(pt1,pt3),level-1)
def main():
root = tk.Tk()
global canvas
canvas = tk.Canvas(root,height=500,width=500)
pt1=[250,100]
pt2=[75,400]
pt3=[425,400]
SierpinskiTri(pt1,pt2,pt3,1)
root.mainloop()
if __name__ == "__main__":
main()