【发布时间】:2018-10-28 22:20:06
【问题描述】:
首先,我想说我对编码和 python 不熟悉。我刚刚了解了导入和随机函数。
无论如何,我正在尝试在 python 中创建一个文本游戏,其中一个字母是从某个字符串/单词中随机选择的,用户必须尝试猜测选择了哪个字母。我想我知道如何很好地执行 for 循环,以便它一直持续到选择正确的字母,但我什至不知道如何随机选择字母。
我想要一些入门帮助。谢谢你。
【问题讨论】:
标签: python
首先,我想说我对编码和 python 不熟悉。我刚刚了解了导入和随机函数。
无论如何,我正在尝试在 python 中创建一个文本游戏,其中一个字母是从某个字符串/单词中随机选择的,用户必须尝试猜测选择了哪个字母。我想我知道如何很好地执行 for 循环,以便它一直持续到选择正确的字母,但我什至不知道如何随机选择字母。
我想要一些入门帮助。谢谢你。
【问题讨论】:
标签: python
由于字符串是 Python 中的序列,您可以使用 random.choice 从列表中选择一个随机元素 - 在您的情况下,是字符串中的一个随机字母。
>>> import random
>>> c = random.choice("abcdefgh")
>>> c
'g'
>>> c = random.choice("abcdefgh")
>>> c
'a'
>>> 来自 REPL 控制台(单独运行 Python),如果您将代码包含在 Python 文件中,则不应包含在内。
【讨论】:
有一个library 用于随机化事物。只需像这样使用它:
import random
text = "Some text"
your_variable = random.choice(text)
在这种情况下,您会从序列中获取随机字母,该字母保存在your_variable中。
【讨论】:
由于您对编程比较陌生,所以我想给您一个内容丰富的游戏示例,以澄清一些概念。
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!
【讨论】: