Python 在多次运行函数时,如何在每次运行后保存数据?

Python 在多次运行函数时,如何在每次运行后保存数据?,python,Python,我已经尝试过很多次了,但是每次运行之后,我所做的变量仍然设置为0,但是在最后一次运行之后,它被设置为1,这是一种方法吗?这是到目前为止我的代码 当它下次循环时,amount的值不为0时,我如何使它如此 编辑1: 新代码: global amount, penny, pebble, rock, bottle, cap, ten_dollar_note, percentage pebble = 0 ro

我已经尝试过很多次了,但是每次运行之后,我所做的变量仍然设置为0,但是在最后一次运行之后,它被设置为1,这是一种方法吗?这是到目前为止我的代码

当它下次循环时,amount的值不为0时,我如何使它如此

编辑1: 新代码:


                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不同。