Raspberry Pi Pico H板载LED指定次数闪烁报错及解决咨询
错误原因
input()获取的用户输入是字符串类型,但range()函数必须接收整数参数。当你把字符串number传入range()时,Python内部会尝试比较整数和字符串,触发类型不兼容错误。- 另外你的代码缺少板载LED的初始化逻辑,直接调用
led.toggle()后续也会报错。
修复方法
- 转换输入类型:用
int()把输入的字符串转为整数,同时可以加异常处理避免非数字输入。 - 初始化板载LED:Pico H的板载LED接在GPIO25引脚,需要导入
machine模块并初始化引脚为输出模式。
修复后的完整代码
import time from machine import Pin # 初始化板载LED led = Pin(25, Pin.OUT) try: # 将用户输入转为整数 blink_count = int(input('How many times would you like the LED to blink?')) # 实现指定次数的闪烁:亮1秒、灭1秒为一次完整闪烁 for _ in range(blink_count): led.on() time.sleep(1) led.off() time.sleep(1) print('Done') except ValueError: # 处理用户输入非数字的情况 print('请输入有效的数字!')
额外说明
- 原代码的
range(0, number)可以简化为range(number),因为range默认从0开始计数。 - 用
try-except捕获ValueError是为了避免用户输入字母、符号时程序直接崩溃,提升代码健壮性。
内容的提问来源于stack exchange,提问作者Kumaran Panchakumar
相关产品推荐
相关产品推荐

