Hier der Code (ich weiß, es geht sicher schöner und mehr pythonisch, aber das ist halt meiner):
Code: Alles auswählen
import matplotlib.pyplot as plt
file = open("primes_in1000.txt", "r")
delta_list = []
number_of_primes = 1
previous_number = 2
all_lines_of_file = file.readlines()
for line in all_lines_of_file:
print("Vorige Primzahl: ", previous_number)
current_number = int(line)
print("Aktuelle Primzahl: ", current_number)
delta_primes = current_number - previous_number
print("Abstand: ", delta_primes)
previous_number = current_number
delta_list.append(str(delta_primes))
number_of_primes +=1
print(delta_list)
print(type(delta_list))
print(number_of_primes, "Zahlen berechnet.")
delta_max = max(delta_list)
print("Größter Abstand zwischen zwei Primzahlen: ", delta_max)
delta_min = min(delta_list)
print("Kleinster Abstand zwischen zwei Primzahlen: ", delta_min)
plt.plot(delta_list)
plt.show()
file.close()
Vorige Primzahl: 991
Aktuelle Primzahl: 997
Abstand: 6
['1', '2', '2', '4', '2', '4', '2', '4', '6', '2', '6', '4', '2', '4', '6', '6', '2', '6', '4', '2', '6', '4', '6', '8', '4', '2', '4', '2', '4', '14', '4', '6', '2', '10', '2', '6', '6', '4', '6', '6', '2', '10', '2', '4', '2', '12', '12', '4', '2', '4', '6', '2', '10', '6', '6', '6', '2', '6', '4', '2', '10', '14', '4', '2', '4', '14', '6', '10', '2', '4', '6', '8', '6', '6', '4', '6', '8', '4', '8', '10', '2', '10', '2', '6', '4', '6', '8', '4', '2', '4', '12', '8', '4', '8', '4', '6', '12', '2', '18', '6', '10', '6', '6', '2', '6', '10', '6', '6', '2', '6', '6', '4', '2', '12', '10', '2', '4', '6', '6', '2', '12', '4', '6', '8', '10', '8', '10', '8', '6', '6', '4', '8', '6', '4', '8', '4', '14', '10', '12', '2', '10', '2', '4', '2', '10', '14', '4', '2', '4', '14', '4', '2', '4', '20', '4', '8', '10', '8', '4', '6', '6', '14', '4', '6', '6', '8', '6']
<class 'list'>
168 Zahlen berechnet.
Größter Abstand zwischen zwei Primzahlen: 8
Kleinster Abstand zwischen zwei Primzahlen: 1
Process finished with exit code 0