簡體   English   中英

在 while 循環中處理不同的數據類型

[英]Handling different data types in while loop

我正在使用提供浮點數據的傳感器。 如果測量錯誤,傳感器有時也會返回“無”值。 我想收集傳感器數據,只要它在一定范圍內:

def measure():
    
    data = np.array([[sensor[0], sensor[1], sensor[2]]])

    while sensor[0] > 0.0 and sensor[0] < 90.0
        
        data = np.append(data, [[sensor[0], sensor[1], sensor[2]]], axis=0)

    return data

一旦傳感器返回 None 值,就會出現錯誤,因為 while 命令無法處理不同的數據類型:

TypeError: '>' 在 'NoneType' 和 'float' 的實例之間不支持*

我試圖在 while 循環中包含一個“不是無”條件,但沒有成功。 任何人都可以幫助解決這個問題的替代方法或解決方法嗎?

根據您的評論,我認為您想將 function 和 while 循環重建為

def measure():
    while True: 
        if sensor[0] is None: 
            # Handle however you see fit
            pass
        elif sensor[0] > 0.0 and sensor[0] < 90.0: 
            data = np.append(data, [[sensor[0], sensor[1], sensor[2]]], axis=0)
        else: 
            break
    return data

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM