python - 我正在尝试创建一个循环,以便当 y 小于 x 时,它将循环通过 print 语句,同时通过它们交替
问题描述
我正在尝试制作一个创建随机密码的程序。除此之外,它应该在
print(chr(letter), end="")
print(chr(number), end="")
因为它使密码看起来像“A2h8l”,它在数字和字母之间交替。
import random
number = random.randint(48,57)
letter = random.randint(65,122)
print(input("How many characters do you want in your password?"))
x = input
y = int(letter + number)
while int(x > y):
print(chr(letter), end="")
print(chr(number), end="")
然而,出于某种原因,
while int(x > y):
出现错误,我不知道该怎么办。不知道我在做什么或做错了什么,感谢任何帮助。
解决方案
int(1 > 2)
语法不正确。
您不能将这样的比较传递给int()
函数。正确的方法是
if int(1) > int(2):
虽然,你仍然不需要int()
if 你传递一个整数开头。
即使解决了这个问题,您的代码仍然会出现问题。
您的循环将无限期运行或根本不运行,具体取决于 and 的值x
,y
并且还将不断打印相同的两个字符。
处理此问题的更好方法是:
- 定义密码长度
- 循环
range(length)
- 生成随机整数并将它们附加到字符串
import random
length = int(input('Password Length'))
password = ''
for i in range(length):
password = password + chr(random.randint(65,122)) + chr(random.randint(48,57))
password
#'Q5I4D8p8i9l1p7j0I6l9'
推荐阅读
- powershell - 从 Get-ADDomain 的结果中获取“DC”值?
- ibm-cloud - 在 IBM OpenWhisk swagger.yaml 文件中应该使用什么来代替用户名和密码?
- python - 如何使用 jenkins 从私有 github repo 安装 python 包?
- docker - 如何为微服务应用配置 docker 的暴露端口?
- jquery - jQuery Masonry 项目顺序
- dart - 在 Dart 中:就地排序列表的一部分
- firebase - 如何使用firestore在当前用户文档中添加数据?
- postgresql - Postgresql 函数:返回具有动态分配类型的表
- azure-devops - 从 VSTS 触发测试用例时需要在 Agent.Listener.exe 窗口中按 Enter
- ios - PocketSVG 框架