Python 是否有可能将字符串的位置指定给随机整数?

Python 是否有可能将字符串的位置指定给随机整数?,python,Python,我正在一个银行系统上做一些代码,其中有一个预设密码,然后程序将使用randint生成一个随机数,然后这个随机数是一个字符在预设密码中的位置。用户必须键入位于生成的号码位置的字符,例如,如果我的预设密码为12345,生成的号码为3,则我应键入4才能访问系统 如你所见,我正在测试从字符串中调用字符并将其与随机数合并,但它不起作用,你有其他想法来执行它吗?谢谢很抱歉,如果它可能会给您带来一些混乱,但这就是我的代码已经走了多远,不过我还是从python开始 import random randomOn

我正在一个银行系统上做一些代码,其中有一个预设密码,然后程序将使用randint生成一个随机数,然后这个随机数是一个字符在预设密码中的位置。用户必须键入位于生成的号码位置的字符,例如,如果我的预设密码为12345,生成的号码为3,则我应键入4才能访问系统

如你所见,我正在测试从字符串中调用字符并将其与随机数合并,但它不起作用,你有其他想法来执行它吗?谢谢很抱歉,如果它可能会给您带来一些混乱,但这就是我的代码已经走了多远,不过我还是从python开始

import random

randomOne = (random.randint(0,3))

password = "code"

print(randomOne)
decode = input("input a character: ")

if decode == password + str(randomOne):
    print("Access Granted")
    pass
else:
    print("Access Denied")

这就是你要找的吗

#This is your randomly generated character position in the password
randomIndex = random.randint(0,len(code)-1)

#This is the character itself
randomCharacter = code[randomIndex]

#Ask the user for input
reply = input("Please enter the character in position", randomIndex+1)

#Check to see if user's input matches the actual character
if reply == randomCharacter:
    print("Access")
else:
    print("Fail")

这里没有使用任何随机数

如果您必须知道它选择的索引,请使用:

random_position = random.randint(0, len(password)-1)
random_letter = password[random_number]
#then ask them to enter the letter at the index it chose
否则,如果您只需要密码中的随机字母,请使用:

random_letter = random.choice(password)
#then ask for them to enter the letter it chose

在这里使用
random.randrange
将有效。这将允许您使用密码的
len
构建一个范围,然后从该范围中选择一个随机整数。然后,您可以使用此随机整数为代码密码编制索引

from random import randrange

pwd = 'code'
pos = randrange(len(pwd))

attempt = input(f'Enter character at index {pos}: ')

if attempt == pwd[pos]:
    print('Access Granted')
else:
    print('Access Denied')

“…并将其与随机数合并…”。等等,什么随机数?我看到你导入了random,但你从来没有从那个模块调用过函数。这段代码在任何地方都不会调用任何random函数。您的变量RandomFive也从未分配任何内容。
print(RandomFive)
将给出错误,因为它从未初始化。抱歉,我试图发布它时正在编辑代码。我再试试另一个。由于某种原因,我觉得用这种方式处理密码的银行不安全。希望这是一个家庭作业问题,而不是金融机构的生产代码。哈哈,你让我编辑我的答案,因为有一秒钟我认为我错了,我不太确定,先生,我感谢你的贡献。我希望尽可能多地理解代码,而不是仅仅复制和粘贴您提供的内容,并称之为一天。我希望您能向我解释如何将随机数链接到字符串中字符的位置。@Boxhead假设您熟悉索引的概念,您的问题需要您随机生成索引。在我们的例子中,索引必须是介于0和密码长度之间的整数。随机生成器只是在这些边界之间随机生成一个整数,我将其存储到
randomCharacter
中,稍后使用。这有帮助吗?基本上,除了代码外,随机索引已经将字符串中字符的位置链接到随机生成的值了?不,
randomIndex
只是一个整数
code[randomIndex]
是从字符串中提取实际字符的方法。我发现您的答案是正确的,先生。虽然,我还没有在我的课程中介绍randrange,这就是为什么我需要一种不同的方法,我想了解如何将随机整数链接到字符串的字符。但你的答案是我应该读下去的。:)@Boxhead是的,然后查看
random。选择
你可以在这里使用它