Python自动输入1-100数字代码报错求助
问题分析与解决方案
你的代码存在两个核心问题:
keyboard.press()仅支持单个字符(字符串类型)或Key枚举对象作为参数,直接传入整数会触发类型错误。- 原代码是死循环,会无限递增数字且无法处理两位数(如10、11这类多字符数字)。
修正后的代码如下:
from pynput.keyboard import Key, Controller import time keyboard = Controller() n = 1 time.sleep(2) # 限制循环范围为1到100 while n <= 100: # 将数字转为字符串,逐个字符输入以支持多位数 for char in str(n): keyboard.press(char) keyboard.release(char) # 输入完数字后按回车(可选,可根据需求删除或替换为其他按键) keyboard.press(Key.enter) keyboard.release(Key.enter) # 添加短延迟,避免输入过快导致系统无响应 time.sleep(0.1) n += 1
关键改动说明:
- 把整数
n转为字符串str(n),遍历每个字符实现多位数输入 - 修改循环条件为
n <= 100,确保只输入1到100的数字 - 新增回车输入(可按需调整),便于区分每个输入的数字
- 添加
time.sleep(0.1)避免输入速度过快引发异常
内容的提问来源于stack exchange,提问作者cheater_pl yt
相关产品推荐
相关产品推荐

