PyPrintPi på en Raspberry Pi (19 / 23 steg)
Steg 19: Skriva ut π
Jag ville skapa ett program som skriver ut π, tyvärr Adafruits bibliotek använder Python 2 och alla våra andra program körs Python 3.
Inte oroa dig! Ser som vi sparar våra värde av π till ett textdokument i Python 3 kan vi helt enkelt öppna som textdokument i vårt Python 2 program som skriver ut π.
printpi.py är det programmet som jag skapade för att skriva ut π i form av π:
# Det här ett program utvecklat av Billy Timimi som skriver ut värdet på pi i
# formen på pi. Tack till Adafruit för att ge Thermal_Printer biblioteket,
# som möjliggjorde detta program. Ursprungliga biblioteket finns på:
# < en href = "https://github.com/adafruit/Python-Thermal-Printer/blob/master/Adafruit_Thermal.py" rel = "nofollow" >< en href = "https://github.com/adafruit/Python-Thermal-Printe... < / a" > https://github.com/adafruit/Python-Thermal-Printe...</a>>
#
#! / usr/bin/python
från Adafruit_Thermal import * #import's Adafruits bibliotek
pi_leg_length = 9 #defines hur många siffror lång pi benen bör vara.
f = öppna ('pi.txt', 'r') #This block öppnar pi.txt och sparar innehållet som en sträng
PI = f.read()
f.Close()
pi_formatted = "" #pi_formatted används för att innehålla en formaterad version av pi, det kommer så småningom innehålla innehållet i pi i form av
#multiple pi symboler
count = 1 #count variabel används för att placera figurer från pi i pi_formatted med de rätta inbördes avstånd
för jag i pi: #this loopar igenom alla siffror av pi (variabeln inte antalet).
#count variabeln ökar till 50 sedan sjunker till 1, varje gång det når 49 en ny pi symbol är klar
om räkningen < 32: #the först 31 tecken av symbolen pi är placerade bredvid varandra att skapa raden överst
pi_formatted += jag
Elif greve == ((2*pi_leg_length) + 31): #skip denna kommentar tills du har undstood hur benen på pi är skapade,
pi_formatted += "" + i #adds två extra blanksteg före det sista tecknet i pi symbol för att skapa utåt
#curve på höger ben av symbolen pi.
Elif räkna %2: #if räkning är ett udda tal, tillägger avstånd då karaktär, detta skapar höger ben av pi
pi_formatted += "" + i #symbol
Elif greve == ((2*pi_leg_length) + 30): #skip denna kommentar tills du har undstood hur benen på pi är skapade,
pi_formatted += "\n" + jag #creats en ny rad och avstånd före näst sista tecknet i pi symbol, där en mindre
#space i mellanrummet, detta skapar den kurvan åt vänster på vänster ben
Elif greve == ((2*pi_leg_length) + 32): #On 50-tecknet skapa en ny pi symbol genom att lägga till tre radbrytningar, lägga till tecknet
pi_formatted += "\n \n \n" + i # sedan återvänder greve till en
count = 1
annat: #If ingen av ovanstående elif uttalande är tillämpas sedan 48 > count > 31 och räkna är ens. Om så är fallet
pi_formatted += "\n" + i #the karaktär bör vara vana vid att göra vänster ben av symbolen pi. Det gör detta genom att skapa en ny rad
#then att lägga till avstånd
räkna + = 1 #increments variabeln antal
#if slingan ovan inte vettigt att du försöker tänka på hur det skulle köra när programmet körs.
pi_line_split = pi_formatted.split("\n") #creates en lista över alla rader i pi_formatted
skrivaren = Adafruit_Thermal ("/ dev/ttyAMA0", 19200, timeout = 5) #this line ställer in skrivaren
Printer.println ("pi =") #This skriva ut rad pi =
Printer.println("3.14159265358979323846264338327") #for av någon anledning den första raden i pi_line_split skrivs inte ut på egen hand så jag skriver det manuellt
för i i pi_line_split:
Printer.println(i) #prints varje rad i pi_line_split
Printer.println("") #prints ett par tomma rader för att visa alla Skriv ut
Printer.println("")
Ta en stund att förstå hur detta program fungerar, om du kör det, det bör skriva ut siffrorna i π i form av π.