Python 是否需要整数?

Python 是否需要整数?,python,python-3.x,Python,Python 3.x,我正在通过Wtime函数使代码正常工作,但在我为Wtime设置了waitTime后,它不会转换为我的主函数。当我按下LED工作按钮时,我得到: time.sleep(等待时间) TypeError:需要一个整数(Get type函数) 这是我的代码: import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) #leds rled = 16 yled = 6 #btns btnOnV

我正在通过
Wtime
函数使代码正常工作,但在我为
Wtime
设置了
waitTime
后,它不会转换为我的
函数。当我按下LED工作按钮时,我得到:

time.sleep(等待时间)
TypeError:需要一个整数(Get type函数)
这是我的代码:

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

#leds
rled = 16
yled = 6

#btns
btnOnVal = 12
btnOffVal = 18

#ldr
ltSense = 21


GPIO.setup(rled, GPIO.OUT)
GPIO.setup(yled, GPIO.OUT)

GPIO.setup(btnOnVal, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.setup(btnOffVal, GPIO.IN, pull_up_down = GPIO.PUD_UP)

GPIO.setup(ltSense, GPIO.IN, pull_up_down = GPIO.PUD_UP)

def Wtime():
    try:
        waitTime = float(input("Please enter a wait time for flashing lights(1 - 10 secs):"))

        while (waitTime < 0 or waitTime > 10):
            waitTime = float(input("Please enter a wait time for flashing lights(1 - 10 secs):"))
    except:
        print("Not Integer Value")

    return waitTime

def rblink(waitTime):
    GPIO.output(rled, GPIO.HIGH)
    time.sleep(waitTime)
    GPIO.output(rled, GPIO.LOW)
    time.sleep(waitTime)

def yblink(waitTime):
    GPIO.output(yled, GPIO.HIGH)
    time.sleep(waitTime)
    GPIO.output(yled, GPIO.LOW)
    time.sleep(waitTime)

def main(waitTime):
    while (GPIO.input(ltSense) == 1):
        if (GPIO.input(btnOnVal) == False):
            for i in range(0,10,1):
                rblink(waitTime)

        if (GPIO.input(btnOffVal) == False):
            for i in range(0,10,1):
               yblink(waitTime)

#function call
Wtime()
main(yblink)
将RPi.GPIO导入为GPIO
导入时间
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
#发光二极管
rled=16
yled=6
#基站
BtNonal=12
btnOffVal=18
#ldr
ltSense=21
GPIO.setup(rled、GPIO.OUT)
GPIO.setup(yled,GPIO.OUT)
GPIO.setup(btnOnVal,GPIO.IN,pull\u up\u down=GPIO.PUD\u up)
GPIO.setup(btnOffVal,GPIO.IN,pull\u up\u down=GPIO.PUD\u up)
GPIO.setup(ltSense,GPIO.IN,pull\u up\u down=GPIO.PUD\u up)
def Wtime():
尝试:
waitTime=float(输入(“请输入闪烁灯的等待时间(1-10秒):”)
而(waitTime<0或waitTime>10):
waitTime=float(输入(“请输入闪烁灯的等待时间(1-10秒):”)
除:
打印(“非整数值”)
返回等待时间
def rblink(等待时间):
GPIO.output(rled,GPIO.HIGH)
时间。睡眠(等待时间)
GPIO.output(rled,GPIO.LOW)
时间。睡眠(等待时间)
def yblink(等待时间):
GPIO.output(yled,GPIO.HIGH)
时间。睡眠(等待时间)
GPIO.output(yled,GPIO.LOW)
时间。睡眠(等待时间)
def主(等待时间):
而(GPIO.input(ltSense)==1):
如果(GPIO.input(BTNONAL)=False):
对于范围(0,10,1)内的i:
rblink(等待时间)
如果(GPIO.input(btnOffVal)=False):
对于范围(0,10,1)内的i:
yblink(等待时间)
#函数调用
Wtime()
主(yblink)

如何修复此错误?

您需要将
wTime()
的结果传递到
main()



此外,理想情况下,函数名应该以小写字符开头,因为类的标准字符是大写。

您需要将
wTime()
的结果传递到
main()



此外,理想情况下,函数名应该以小写字符开头,因为类的标准字符是大写。

错误告诉您参数错误。您认为您的参数(
waitTime
)是什么?为什么?错误是告诉您参数错误。您认为您的参数(
waitTime
)是什么?为什么?
main(Wtime())