首先,我想说一下,我是编码和python的新手。我刚刚学习了导入和随机函数。
无论如何,我试图用python创建一个文本游戏,其中从某个字符串/单词中随机选择一个字母,用户必须尝试猜测选择了哪个字母。我想我了解如何足够好地执行循环,以便继续进行直到选择了正确的字母为止,但是我不知道如何甚至随机选择字母。
我只需要一些帮助就可以开始使用。谢谢。
答案 0 :(得分:1)
由于字符串是Python中的序列,因此您可以使用random.choice
从列表中选择随机元素-在您的情况下,是字符串中的随机字母。
>>> import random
>>> c = random.choice("abcdefgh")
>>> c
'g'
>>> c = random.choice("abcdefgh")
>>> c
'a'
>>>
来自REPL控制台(本身运行Python),如果您将代码包含在python文件中,则不应将其包括在内。
答案 1 :(得分:0)
有一个library用于随机化事物。像这样简单地使用它:
import random
text = "Some text"
your_variable = random.choice(text)
在这种情况下,您会从序列中获得随机字母,并将其保存在your_variable
中。
答案 2 :(得分:0)
由于您是编程的新手,所以我想给您提供一个游戏性示例,以阐明一些概念。
str
在Python中作为序列实现(您可以认为字符串是一个字符数组)。因此它支持索引s = 'abc'; print(s[1]);
显示b
的索引。random
包括一系列执行随机操作的函数。如其他答案所述,函数random.choice
从序列中随机选择一个元素。因此,它可以用来从字符串中随机选择一个字符。以下是代码:
import random
class Game:
def __init__(self, string):
self.string = string
def start_game(self):
self.answer = random.choice(string)
self.ask_player()
def ask_player(self):
char = input("Just enter your guess: ")
self.cheat(char)
if char == self.answer:
print("Bingo!")
return None
else:
print("You missed, try again! (Or press Ctrl+C to goddamn exit!)")
self.ask_player()
def show_answer(self):
print('The answer iiiis: %s \n' % self.answer)
def cheat(self, user_input):
if user_input == 'GG':
self.show_answer()
if __name__ == '__main__':
string = "This is the string from which the letters are ramdomly chosen!"
gg = Game(string)
gg.start_game()
一些测试运行:
Just enter your guess: 2
You missed, try again! (Or press Ctrl+C to goddamn exit!)
Just enter your guess: T
You missed, try again! (Or press Ctrl+C to goddamn exit!)
Just enter your guess: GG (Haha, I left a cheat code in order to get the right anwser!)
The answer iiiis: o
You missed, try again! (Or press Ctrl+C to goddamn exit!)
Just enter your guess: o
Bingo!