我想制作一个随机数字和字母生成器,但这不起作用

问题描述

import random,string,pyautogui,time
numbers=random.randint(1000000000,1000000000000)
def random_char(y):
       return ''.join(random.choice(string.ascii_letters) for x in range(y))

time.sleep(2)
pyautogui.typewrite(random_char(10))
time.sleep(0.5)
pyautogui.write(numbers)

输出 = piTPLlrXPn(

但数字不起作用

错误

Exception has occurred: TypeError
'int' object is not iterable
  File "C:\Users\Noah\Pictures\Python\test.py",line 9,in <module>
    pyautogui.write(numbers)

编辑:现在工作!感谢您的帮助!

解决方法

整数范围有限,您输入的范围很大且超出范围。尝试更小的值,例如 1000,10000

,

pyautogui.write() 需要一个可迭代对象,int 不可迭代,但字符串是可迭代的,在这种情况下你只需要调用,

pyautogui.write(str(numbers))

这应该写入您在代码开头获得的随机数。

但是,您可以执行类似于使用 ascii 字符所做的操作,给出 int 字符列表,或者如果您想要带有字母和数字的结果,可以使用数字扩展 ascii 字符列表