我坚持这个问题。这是我的工作代码:
import RPi.GPIO as GPIO ## Import GPIO library
import time ## Import 'time' library. Allows us to use 'sleep'
GPIO.setmode(GPIO.BOARD) ## Use board pin numbering
GPIO.setup(7, GPIO.OUT) ## Setup GPIO Pin 7 to OUT
##Define a function named Blink()
def Blink(kartai):
speed = 1
for i in range(kartai):## Run loop numTimes
print "Iteration " + str(i+1)## Print current loop
GPIO.output(7,True)## Switch on pin 7
time.sleep(speed)## Wait
GPIO.output(7,False)## Switch off pin 7
time.sleep(speed)## Wait
speed = speed - 1/kartai
print "Done" ## When loop is complete, print "Done"
GPIO.cleanup()
kartai = raw_input("Enter length of each blink(seconds): ")
Blink(int(kartai))
然而,每次迭代,LED每秒闪烁一次。我认为这是因为变速被视为int
,但如果我将第7行重写为:
float (speed) = 1
我收到错误:
无法分配到函数调用
在这一行:
print "Iteration " + str(i+1)## Print current loop
答案 0 :(得分:1)
我建议您阅读python assignments的工作方式。
如果您希望speed
成为花车,请尝试speed = 1.0
或speed = float(1)
答案 1 :(得分:1)
为什么不试试
speed = 1.0
将分配浮点数而不是整数。
当然(已经回答),您仍然可以将整数转换为浮点数
speed = float(1)