-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPolygonal_Numbers.py
More file actions
35 lines (31 loc) · 876 Bytes
/
Polygonal_Numbers.py
File metadata and controls
35 lines (31 loc) · 876 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
def getTriNum(rank):
return ((rank**2)+ rank)/2
def findTriNum(number):
rank = number**0.5
Trinum1 = getTriNum(rank)
Trinum2 = getTriNum(rank-1)
print ("For the Square number \"%i\", the two Triangular numbers are \"%i\" and \"%i\"" % (number ,Trinum1, Trinum2))
def again():
ans = input("Do you want to go again? (Y/N): ")
if (ans.lower() == "y" or ans.lower() == "yes"):
main()
return
def main():
number = ""
while True:
number = input("Please provide a square number: ")
if (number.isdigit()):
number = float(number)
if ((number**0.5)%1 == 0):
number = int(number)
if (number == 1):
print ("For the square number \"1\", the only triangular number is also \"1\"")
again()
return
else:
findTriNum(number)
break
else: print ("That's not a square number.")
else: print("That's not a number.")
again()
main()