如何创建无限变量
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 的想法和我自己的知识来创建这个(有点)无限变量生成器。无论如何,它将适合需要一个的情况。谢谢大家!
我想知道是否有办法使无限变量。我在网上找不到任何关于此的内容所以有人可以帮忙吗?我在 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 的想法和我自己的知识来创建这个(有点)无限变量生成器。无论如何,它将适合需要一个的情况。谢谢大家!