如何创建无限变量

2024-10-02 10:19:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否有一种方法可以产生无限的变量。我在网上找不到这方面的任何东西,有人能帮忙吗?我在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

有人能帮我吗


Tags: 方法namejsonfalsetruehereloadopen
2条回答

我不能确切地理解你想做什么,但我可以给出一些一般性的建议

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

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

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等其他语言不同,在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+列表思想和我自己的知识相结合来创建这个(sorta)无限变量生成器。无论如何,它将适合需要一个的情况。谢谢你们

相关问题 更多 >

    热门问题