Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我正在尝试创建一个循环,这样当y小于x时,它将循环通过打印语句,同时交替通过它们_Python_Pythonanywhere - Fatal编程技术网

Python 我正在尝试创建一个循环,这样当y小于x时,它将循环通过打印语句,同时交替通过它们

Python 我正在尝试创建一个循环,这样当y小于x时,它将循环通过打印语句,同时交替通过它们,python,pythonanywhere,Python,Pythonanywhere,我正在尝试做一个程序,将创建一个随机密码。除此之外,它还应该在 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 charact

我正在尝试做一个程序,将创建一个随机密码。除此之外,它还应该在

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):

出现了一个错误,我不知道该怎么办。不知道我在做什么或做错了什么,我们非常感谢您的帮助。

也许您可以这样做


随机输入
number=random.randint(48,57)
字母=random.randint(65122)
x=输入(“密码中需要多少个字符?”)
x=int(x)
y=字母+数字
当x>y时:
打印(chr(字母),end=“”)
打印(chr(编号),end=“”)

您遇到该特定错误的原因是您将x设置为输入函数本身。像这样的东西会更接近你想要的:
x=int(输入(“密码中需要多少字符?”)
int(1>2)
语法不正确

您不能将这样的比较传递给
int()
函数。正确的方法是

if int(1) > int(2):
尽管如此,如果要首先传递一个整数,仍然不需要
int()


即使在解决此问题时,您的代码仍然存在问题

循环将无限期运行或根本不运行,具体取决于
x
y
的值,并且还将持续打印相同的两个字符


更好的处理方法是:

  • 定义密码长度
  • 循环范围(长度)
  • 生成随机整数并将其附加到字符串

  • 类似这样的情况:(您的代码之所以出错,是因为
    x=input
    ,所以x是一个无法与int-type进行比较的函数)

    随机导入
    x=int(输入(“密码中需要多少字符?”).strip()
    计数=0
    当x>计数时:
    数字=随机数。随机数(ord(“0”)、ord(“9”))
    上限=random.randint(ord(“A”)、ord(“Z”))
    lower=random.randint(ord(“a”)、ord(“z”))
    y=随机。选择([数字,上限,下限])
    打印(chr(y),end=“”)
    计数+=1
    打印()
    
    或者更像蟒蛇

    随机导入
    导入字符串
    字符=string.digits+string.ascii_字母
    x=int(输入(“密码中需要多少字符?”).strip()
    打印(“”.join(范围(x)内的uu的随机.choice(字符)))
    
    您认为您将
    x
    设置为等于什么?你有没有试过,比如说,
    print(x)
    来检查发生了什么?(另外,请不要包含文本图像。您已经在此处包含了代码,这很好,只需对错误执行相同操作即可。)感谢您的反馈,如果我有其他问题,我将确保修复该问题,但我认为我已将错误包含在图像中;除非我误解了你,否则我很抱歉@Crazychucky我想说的是,当内容可能只是文本时,文本的图像根本不适合。如果您将错误粘贴到问题中,将其格式化为代码,并删除图像,效果会更好。更多信息:我相信我将“x”设置为用户输入,例如,它将是一个类似于5的整数。我尝试的是,用户将输入“5”作为他们想要在密码中输入的字符数,然后“y”(字母和数字相加)将继续交替和相加,同时循环,直到“y”创建的字符数等于用户提供的“x”中的整数为止。对不起,如果我对我要做的解释令人困惑@Crazychuckyth感谢您对图片的澄清,我会确保下次有问题时记住这一点。:)@CrazyChuckyThis要么什么也不打印,要么无限期地打印相同的两个字符。我刚刚尝试过,它所做的只是在再次请求用户输入时打印“您希望密码中包含多少字符”@eriblexpWell该行将替换这些当前行,以防止出现错误
    打印(输入(“您的密码中需要多少字符?”))x=input
    。目前,x实际上被设置为输入功能,而不是设置为控制台中输入的文本。您仍然会有一个单独的问题,y值几乎总是大于x,但我不确定您到底想做什么。@PacketLoss获取它,然后更改复制并粘贴您的代码以尝试它,但由于某种原因,它不起作用?不确定这是否会对代码产生重大影响,但我使用的是Python3.8@PacketLossWhat不起作用?将最后一行中的
    password
    更改为
    print(password)
    如果您是以文件身份运行的,谢谢您的帮助,它看起来已经修复了它@包装损耗
    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'