如何创建无限变量

How to create infinite variables

我想知道是否有办法使无限变量。我在网上找不到任何关于此的内容所以有人可以帮忙吗?我在 mac 上使用 python IDEL 3.9.1 以防有所不同。只是为了说明这一点,我不想重写变量。我有一个 pickle 文件,它使用重复变量存储信息。我需要阅读它们。这是我的代码:

json = .json
while loopvariable == true:
    #looping variable here = pickle.load( open( savefilename, "rb"
    if #name (a variable from a input() earlier == #looping variable here: 
        savefilename = #looping variable here + json
        favorite_color = pickle.load( open( savefilename, "rb" 
        loopvariable = false
    elif name != #looping variable here
        a = true
while a = true:
    loopvariable = false
    loopvariable = true
    a = false

有人可以帮助我吗?

我不明白到底想做什么,但我可以给一些一般性的建议。

在处理多个相关数据时,您应该始终使用集合数据结构,而不是将它们存储在单独的变量中。

例如,如果尝试从用户输入三个名字,初学者程序员可能只会说:“嘿,我知道我会使用三个变量!”。这是编写此代码的错误方式。

name1 = input('Name: ')
name2 = input('Name: ')
name3 = input('Name: ')

为什么这让人不悦?因为那时你必须通过名称访问每个变量,并且使用索引动态访问它们是一件痛苦的事情。

所以说你想打印所有三个名字,你现在必须写

print(name1)
print(name2)
print(name3)

工作量很大。

相反,始终使用列表或其他集合数据结构。

例如在这里,您通常最好编写这样的代码。

names = []
for i in range(3):
    names.append(input('Name: '))

...

for i in range(3):
    print(names[i])

所以这回答了你的问题,因为听起来你正试图将数据片段保存在许多不同的变量中。这不仅使访问变量变得困难,而且跟踪它们也很痛苦。这也不是 Python 设计的预期方式(与 MATLAB 等其他语言相反,您可能被迫创建变量以跟踪矩阵等)

我找到了解决办法!这是我的代码:

import pickle
names = []
count = 0
times = 1
a = "false"
json = ".json"
gameplayfunc = "false"
while (count < 9):
    for i in range(times):
        names.append(input('Please enter save file name: '))
    x = input("Would you like to create another save file?")
    if x == "Yes" or x == "yes" or x == "YES":
        namee = names[i] + json
        pickle.dump( x, open( namee, "wb" ) )
        times = times + 1
        a == "true"
    elif x == "No" or x == "no" or x == "NO":
        namee = names[i] + json
        pickle.dump( x, open( namee, "wb" ) )
        gameplayfunc = "true"
        count = 10
while a == "true":
    count = 10
    count = 1
    a == false

...


for i in range(times):
    print(names[i])

我结合了 for i in range + list 的想法和我自己的知识来创建这个(有点)无限变量生成器。无论如何,它将适合需要一个的情况。谢谢大家!