Schritt 10: Code
Das heißt, einige nützliche Dinge, die ich über Python gelernt gehören:
Eines der besten Features Pythons (oder möglicherweise das Schlimmste?) ist seinen Mangel an Syntax. Sie müssen nur selten eine Schließung oder öffnenden Tag erinnern. Sie können einfach weiterschreiben, Codezeilen und Python versucht sein Bestes, sie zu verarbeiten.
Python verarbeitet Codeblöcke basierend auf ihren Einzug. Falscher Einrückung kann Katastrophe führen. Zum Beispiel, die einzige Möglichkeit den Code weiß, dass etwas gehört eine for-Schleife weil es eingerückt ist die gleiche wie alles andere, die ebenfalls Bestandteil dieser Schleife ist. Dies kann beginnen zu kompliziert mit geschachtelte Schleifen (Schleifen innerhalb von Schleifen) und führen zu Verwirrung und falschen Code.
Python Funktion des Systems ist verwirrend auf mehreren Ebenen (zum Beispiel einige Variablen sind veränderlich und einige nicht). Ich verstehe nicht ganz, die Komplexität der Funktionen, aber wenn Sie interessiert sind, Sie sollten auf jeden Fall es nachschlagen.
Der Code werden wir verwenden enthält eine Reihe von Paketen, wird eine Sammlung von Funktionen, die aufgerufen werden können (siehe letzten Schritt für weitere Informationen zum Installieren von Paketen).
Wir importieren die folgenden Pakete:
-Python Twitter
-PySerial
-Numpy
-Zeit
-Random
Der Code lautet wie folgt:
#!/usr/bin/python #Filename: TwitterChair.pyimport twitterimport serialimport numpyimport timeimport random## Your username and password here#api = twitter.Api(username='yourusername', password='yourpassword')## Change this to match your serial port#ser = serial.Serial('/dev/tty.usbserial-A70063pF', 19200)serialArray = []global gassygassy = 0def checkokay(): ser.flushInput() time.sleep(3) line=ser.readline() time.sleep(3) if line == ' ': line=ser.readline() print 'here'def startvalues(i): while i <= 50: #time.sleep(.25) line=ser.readline() serialArray.append(int(line)) ser.flushInput() i=i+1 print serialArraycheckokay()startvalues(0)def main(i, i1): ArrayTransfer = numpy.array(i) ComparatorValue = int(numpy.mean(ArrayTransfer)) print ComparatorValue lastReading = ComparatorValue print lastReading loopy = i1 print loopy y = 0 x = 0 while y < 10: while x < 5: line=ser.readline() currentReading = int(line) if currentReading > lastReading: lastReading = currentReading print lastReading print currentReading time.sleep(6) ser.flushInput() x=x+1 print 'half minute' x=0 y=y+1 if lastReading > (ComparatorValue + 50): i1 = 1 if i1 == 1: sayings = ["He farted again with success and vigor. Woest me.", "Pfffffffffft", "Ugh. That was a gross one", "Someone please disassemble me", "If I could puke my foam stuffing, I would", "I wish I were some other chair", "He farted right on me again", "Didn't hear that coming", "allow me to repeat... ppppfffffffffftttttttttttt", "It wasn't always like this."] pickSaying = random.randint(0,9) print pickSaying status = api.PostUpdate(sayings[pickSaying]) loopy = 0 print 'done' if __name__ == "__main__": main(serialArray, loopy)main(serialArray, gassy)