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