@@ -64,19 +64,58 @@ def genVolutionHeightAndGrowthRate(self):
64
64
return ""
65
65
txt += txt1
66
66
self .chamber_heights = txt1
67
- txt += "Rates of growth of {start} to {end} volution are " .format (
68
- start = ordinal_numbers [1 ], end = ordinal_numbers [len (self .volutions_table ) - 1 ]
69
- )
67
+ self .growth_rate_raw = []
68
+ # txt += "Rates of growth of {start} to {end} volution are ".format(
69
+ # start=ordinal_numbers[1], end=ordinal_numbers[len(self.volutions_table) - 1]
70
+ # )
70
71
for i in range (len (heights ) - 1 ):
71
72
txt2 += str (round (heights [i + 1 ] / heights [i ], 1 ))
73
+ self .growth_rate_raw .append (heights [i + 1 ] - heights [i ])
72
74
if i != len (heights ) - 2 :
73
75
txt2 += ", "
74
76
else :
75
77
txt2 += ". "
76
- txt += txt2
77
- self .growth_rate = txt2
78
+ # txt += txt2
79
+ # self.growth_rate = txt2
80
+ self .growth_rate = None
81
+ txt += f"Volutions { self .getCoiled ()} . "
78
82
return txt
79
83
84
+ def processTwo (self , inner , outer ):
85
+ if "moderate" in inner [0 ]:
86
+ return f"{ outer [0 ]} in outer volutions"
87
+ elif "moderate" in outer [0 ]:
88
+ return f"{ inner [0 ]} in first { inner [1 ] + 2 } volutions"
89
+ else :
90
+ return f"{ inner [0 ]} in first { inner [1 ] + 2 } volutions while { outer [0 ]} in outer volutions"
91
+
92
+ def getCoiled (self ):
93
+ coiled = [self .standardRangeFilter (volution_coiled_classes , g ) for g in self .growth_rate_raw ]
94
+ inner , outer = ["" , - 1 ], ["" , - 1 ]
95
+ current_modify = inner
96
+ # print("new sample:")
97
+ # print(self.chamber_heights)
98
+ for i , word in enumerate (coiled ):
99
+ # print(f"{i}th loop:",inner,outer)
100
+ if current_modify [0 ] == "" :
101
+ current_modify [0 ] = word
102
+ current_modify [1 ] = i
103
+ elif current_modify [0 ] != word :
104
+ current_modify = outer
105
+ current_modify [0 ] = word
106
+ current_modify [1 ] = i
107
+ else :
108
+ current_modify [1 ] = i
109
+ if inner [0 ] != "" :
110
+ if outer [0 ] == "" :
111
+ return inner [0 ]
112
+ elif outer [0 ] == inner [0 ]:
113
+ return inner [0 ]
114
+ else :
115
+ return self .processTwo (inner , outer )
116
+ else :
117
+ return "moderately coiled"
118
+
80
119
def genUserInput (self ):
81
120
txt = "The number of volutions is {num}. " .format (num = self .num )
82
121
txt += self .genVolutionHeightAndGrowthRate ()
0 commit comments