gpt4 book ai didi

python - 如何使 while 循环在每次运行时存储连续变量?

转载 作者:行者123 更新时间:2023-12-01 08:07:08 25 4
gpt4 key购买 nike

我是 Stack Overflow 和 Python 的新手。我正在尝试制作一种翻译程序,我确信有一种比我正在做的更简单的方法,但是嘿,这是学习的一部分。所以基本上用户输入字母,然后翻译并打印答案。但我宁愿存储它而不是打印它,这样我就可以在最后完全打印答案(如果有意义的话)。

`a = "b"
While True:
i = input()
if I_1 = a:
L_1="a"
if I_1 = b:
L_1 = "b"`

等等..所以我希望每次都存储L_1,如L_1L_2等,所以最后我可以说

`print(L_1 + L_2)`

等等。

我知道我可能使用了不好的约定,但希望它足够清晰易于理解。谢谢。

最佳答案

这样做是可能的(变量的编程生成),但它通常被认为是非常糟糕的形式,因为它使得很难推断哪些变量引用了程序中的内容。

相反,请考虑使用dict。与列表类似,它是一个容器,但与列表不同的是,您可以使用访问其元素,特别是字符串。这对您的用例非常有帮助,因为您可以将翻译的结果放入dict中,并使用原始字符/单词/短语访问它们.

您还需要方法来记录无法识别的输入并结束循环(因为您在 while True 中使用了无限循环)。

最后,完成后,您将获得一个列表。由于您可能希望将其内容连接回句子,因此可以使用 string.join,它将 list 的内容与 string 组合起来code> 之间(这里使用了 '',因此最终字符串中 list 的每个元素之间不会有任何内容)

例如:

translation_mapping = {'you': '你', 
'are': '是',
'human': '人类'}
result = []

while True:
input_string = input()
if input_string == '_END':
break

try:
result.append(translation_mapping[input_string])

except KeyError:
# input_string was not found in the translation mapping
print(f"I didn't understand {input_string}. Please try again.")

print(''.join(result))

输出:

>>> you
>>> are
>>> a
I didn't understand a. Please try again.
>>> human
>>> _END
你是人类

关于python - 如何使 while 循环在每次运行时存储连续变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55485336/

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