diff --git a/Maths/3n+1.py b/Maths/3n+1.py index 894820ec5..1f2fb55d5 100644 --- a/Maths/3n+1.py +++ b/Maths/3n+1.py @@ -9,10 +9,11 @@ def main(): a = 3*a +1 c += 1#counter l += [a] - print(a)#optional print - print("It took {0} steps.".format(c))#optional finish + return l , c print(n31(43)) - + print(n31(98)[0][-1])# = a + print("It took {0} steps.".format(n31(13))[1]))#optional finish + if __name__ == '__main__': main() diff --git a/Maths/abs.py b/Maths/abs.py new file mode 100644 index 000000000..5b758f838 --- /dev/null +++ b/Maths/abs.py @@ -0,0 +1,18 @@ +def absVal(num): + """ + Function to fins absolute value of numbers. + >>>absVal(-5) + 5 + >>>absVal(0) + 0 + """ + if num < 0: + return -num + else: + return num + +def main(): + print(absVal(-34)) # = 34 + +if __name__ == '__main__': + main() diff --git a/Maths/absMax.py b/Maths/absMax.py new file mode 100644 index 000000000..432734ec0 --- /dev/null +++ b/Maths/absMax.py @@ -0,0 +1,22 @@ +from abs import absVal +def absMax(x): + """ + >>>absMax([0,5,1,11]) + 11 + >>absMax([3,-10,-2]) + -10 + """ + j = x[0] + for i in x: + if absVal(i) < j: + j = i + return j + #BUG: i is apparently a list, TypeError: '<' not supported between instances of 'list' and 'int' in absVal + + +def main(): + a = [1,2,-11] + print(absVal(a)) # = -11 + +if __name__ == '__main__': + main() diff --git a/Maths/absMin.py b/Maths/absMin.py new file mode 100644 index 000000000..8047d63ac --- /dev/null +++ b/Maths/absMin.py @@ -0,0 +1,20 @@ +from abs import absVal +def absMin(x): + """ + >>>absMin([0,5,1,11]) + 0 + >>absMin([3,-10,-2]) + -2 + """ + j = x[0] + for i in x: + if absVal(i) < j: + j = i + return j + +def main(): + a = [1,2,-11] + print(absMin(a)) # = 1 + +if __name__ == '__main__': + main() diff --git a/ciphers/base16.py b/ciphers/base16.py new file mode 100644 index 000000000..9bc0e5d83 --- /dev/null +++ b/ciphers/base16.py @@ -0,0 +1,11 @@ +import base64 + +def main(): + inp = input('->') + encoded = inp.encode('utf-8') #encoded the input (we need a bytes like object) + b16encoded = base64.b16encode(encoded) #b16encoded the encoded string + print(b16encoded) + print(base64.b16decode(b16encoded).decode('utf-8'))#decoded it + +if __name__ == '__main__': + main() diff --git a/ciphers/base32.py b/ciphers/base32.py new file mode 100644 index 000000000..2ac29f441 --- /dev/null +++ b/ciphers/base32.py @@ -0,0 +1,11 @@ +import base64 + +def main(): + inp = input('->') + encoded = inp.encode('utf-8') #encoded the input (we need a bytes like object) + b32encoded = base64.b32encode(encoded) #b32encoded the encoded string + print(b32encoded) + print(base64.b32decode(b32encoded).decode('utf-8'))#decoded it + +if __name__ == '__main__': + main() diff --git a/ciphers/base85.py b/ciphers/base85.py new file mode 100644 index 000000000..5fd13837f --- /dev/null +++ b/ciphers/base85.py @@ -0,0 +1,11 @@ +import base64 + +def main(): + inp = input('->') + encoded = inp.encode('utf-8') #encoded the input (we need a bytes like object) + a85encoded = base64.a85encode(encoded) #a85encoded the encoded string + print(a85encoded) + print(base64.a85decode(a85encoded).decode('utf-8'))#decoded it + +if __name__ == '__main__': + main() diff --git a/data_structures/arrays.py b/data_structures/arrays.py index 3ec9f8976..feb061013 100644 --- a/data_structures/arrays.py +++ b/data_structures/arrays.py @@ -1,3 +1,3 @@ arr = [10, 20, 30, 40] -arr[1] = 30 +arr[1] = 30 # set element 1 (20) of array to 30 print(arr) diff --git a/maths/fibonacci_sequence_recursion.py b/maths/fibonacci_sequence_recursion.py index b0b10fd07..9190e7fc7 100644 --- a/maths/fibonacci_sequence_recursion.py +++ b/maths/fibonacci_sequence_recursion.py @@ -1,8 +1,11 @@ # Fibonacci Sequence Using Recursion def recur_fibo(n): - return n if n <= 1 else (recur_fibo(n-1) + recur_fibo(n-2)) - + if n <= 1: + return n + else: + (recur_fibo(n-1) + recur_fibo(n-2)) + def isPositiveInteger(limit): return limit >= 0