Python 在多次运行函数时,如何在每次运行后保存数据?
我已经尝试过很多次了,但是每次运行之后,我所做的变量仍然设置为0,但是在最后一次运行之后,它被设置为1,这是一种方法吗?这是到目前为止我的代码 当它下次循环时,amount的值不为0时,我如何使它如此 编辑1: 新代码:Python 在多次运行函数时,如何在每次运行后保存数据?,python,Python,我已经尝试过很多次了,但是每次运行之后,我所做的变量仍然设置为0,但是在最后一次运行之后,它被设置为1,这是一种方法吗?这是到目前为止我的代码 当它下次循环时,amount的值不为0时,我如何使它如此 编辑1: 新代码: global amount, penny, pebble, rock, bottle, cap, ten_dollar_note, percentage pebble = 0 ro
global amount, penny, pebble, rock, bottle, cap, ten_dollar_note, percentage
pebble = 0
rock = 0
bottle = 0
cap = 0
penny = 0
ten_dollar_note = 0
amount = 0
percentage = random.randint(0, 100)
if percentage <= 10:
ten_dollar_note += 1
amount += 1
elif percentage <= 35:
rock += 1
amount += 1
elif percentage <= 45:
pebble += 1
amount += 1
elif percentage <= 65:
cap += 1
amount += 1
elif percentage <= 85:
penny += 1
amount += 1
random_percentage = random.randint(15,31)
times = 0
while times != random_percentage:
overworld_choose()
times += 1
amount_one = amount```
全球金额,便士,鹅卵石,岩石,瓶子,瓶盖,10美元纸币,百分比
卵石=0
岩石=0
瓶子=0
上限=0
便士=0
十美元纸币=0
金额=0
百分比=random.randint(0,100)
如果百分比我修复了它,我所要做的就是在function之外添加一个名为new_amount的变量,并使其成为while循环:
while times != random_percentage:
overworld_choose()
times += 1
amount1 = amount
new_amount += amount```
一件事:函数应该通过参数获取它需要的每个值,并使用return
返回值。尝试在不使用global
@Matthias wdym的情况下编写代码,因此我应该将变量放入参数中并返回所有变量。使用global
是完全正确的,根据您编写的variable+=1
,这在著名的书籍Fluent Python中有详细说明。所以这根本不是问题所在。@AvyWam我该如何解决这个问题呢?根据你的代码金额大于0
。我刚刚写了print(amount,penny,rock)
就在times+=1
下面,给定的输出是:11 0
,22 0
,…28 28 0
。当然,每个执行的输出是不同的,因为它是基于随机的,但我不认为“当它下次循环时,数量的值不会是0时,我如何使它这样做”有什么特别的问题,根据随机给出的值,它与0不同。