Add python script to plot numbers
parent
009a12ee8b
commit
b2b7d6d853
@ -0,0 +1,37 @@
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
|
||||
def all_the_same(digits) -> bool:
|
||||
first = digits[0]
|
||||
for dig in digits:
|
||||
if dig != first:
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
with open('./rotatable.txt', 'r') as file:
|
||||
numbers = [int(num.strip('\n')) for num in file.readlines()]
|
||||
numbers.sort()
|
||||
x = []
|
||||
y = []
|
||||
rem_three = {0: 0, 1: 0, 2: 0}
|
||||
for i in numbers:
|
||||
i_dig = list(str(i))
|
||||
if not all_the_same(i_dig):
|
||||
print(i % 3)
|
||||
last = i_dig.pop()
|
||||
i_dig.insert(0, last)
|
||||
#x.append(i%3)
|
||||
rem_three[i%3] += 1
|
||||
x.append(int(''.join(i_dig)))
|
||||
y.append(i)
|
||||
fix, axs = plt.subplots(1, 2)
|
||||
print(x, y)
|
||||
axs[0].scatter(x, y)
|
||||
axs[0].set(xlabel='right rotation', ylabel='number')
|
||||
axs[0].set_title('Numbers and their right rotation')
|
||||
axs[0].grid()
|
||||
axs[1].bar([0, 1, 2], [rem_three[0], rem_three[1], rem_three[2]])
|
||||
axs[1].set(xlabel='num % 3', ylabel='count')
|
||||
axs[1].set_title('Remainder of the number and 3')
|
||||
plt.show()
|
Loading…
Reference in New Issue