gpt4 book ai didi

python - 策划 Python 编码

转载 作者:太空宇宙 更新时间:2023-11-03 15:52:28 27 4
gpt4 key购买 nike

好吧,我觉得这是一个简单的问题,但我已经盯着这段代码看了大约 10 个小时了。我遇到的问题是,一旦我意识到我在正确的位置有正确的颜色,我就可以让它用 X 显示正确的位置,用 O 显示错误的位置。我需要能够转换它而不是 X 和 O 我需要它来告诉用户他/她有 2 个黑人和一个白人例如:密码是 RGYB 用户输入 RGOY 然后 Python 中继“你有 2 个黑色(R 和 G 点)和一个 1 个白色(Y 因为它是正确的颜色只是在错误的索引中)截至目前我让它在正确的位置显示正确颜色的 X 以及其他任何它是 O我将发布我现在一直在使用的内容,但今天我已经无能为力了 https://pastebin.com/HKK0T7bQ

    if correctColor != "XXXX":
for i in range(4):
if guess[i] == tempCode[i]:
correctColor += "X"
if guess[i] != tempCode[i] in tempCode:
correctColor += "O"
print (correctColor + "\n")

if correctColor == "XXXX":
if attempts == 1:
print ("You think you are sweet because you got it right on the first try? Play me again!")
else:
print ("Well done... You needed " + str(attempts) + " attempts to guess.")
game = False

最佳答案

一些评论

X 和 O

你使用 X 和 0 来表示成功,为此使用列表或元组或 bool 值会更容易和更快,这样你就可以使用 sum() 来计算有多少种颜色和位置是正确的。那么你是用 X 和 O 还是用红色和白色的别针表示它是以后的事

划分

您的游戏逻辑(猜测输入、输入验证、是否要继续等)与比较逻辑混合在一起,因此最好将程序的不同功能分离到不同的方法中。

这是介绍面向对象编程的一个很好的例子,但是非常简单,不需要 OO,但它可以提供帮助。您需要的是一种采用一系列颜色并将其与另一系列颜色进行比较的方法

标准库

Python 有一个非常扩展的标准库,所以你想做的很多事情可能已经存在

正确的颜色

要计算出现在 2 个字符串中的字母数,您可以使用 collections.Counter

guess = "RGOY "
solution = "RGYB"
a = collections.Counter(guess)
b = collections.Counter(solution)

a & b
Counter({'G': 1, 'R': 1, 'Y': 1})
correct_colours = sum((a & b).values())
3

所以用户猜对了3种颜色

正确的位置

可以通过简单的列表理解来解决

[g == s for g, s in zip(guess, solution)]
[True, True, False, False]
sum(g == s for g, s in zip(guess, solution))
2

所以用过的人把两种颜色放在正确的位置

关于python - 策划 Python 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45792466/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com