gpt4 book ai didi

python - 每次循环重复时如何将一个数字添加到另一个数字

转载 作者:太空宇宙 更新时间:2023-11-04 08:12:58 25 4
gpt4 key购买 nike

所以在学校,我们的老师要求我们制作一个需要密码才能授予访问权限的程序。我已经做到了这一点,但是我想通过添加一个循环计数来改进它,每次它循环时都会增加循环计数,这是我到目前为止的循环计数,但是它不起作用。

import time
b=0
a='apple'

def start():
print("enter password")
c=input("-> ")
if c==a:
grant()
else:
delay()

def grant():
end

def delay():
b=b+1
time.sleep(b)
start()

start()

最佳答案

你的问题在这里:

def delay():
b=b+1
time.sleep(b)
start()

当您执行 b = b + 1 时,您期望文件顶部的 b 变量增加 1,对吗?

你可能还没有学过这个,但它不起作用的原因是因为一个叫做 scope 的东西。 .

要修复它,您需要将 delay 函数更改为如下所示:

def delay():
global b
b=b+1
time.sleep(b)
start()

通过查看您的代码,我认为您还没有学会如何使用 while 循环?

您在 delay 中重复调用 start 的解决方案实际上非常聪明。但是,如果我们使用 while 循环,我们可以重写您的程序,使其更清晰,更清楚地说明您要做什么:

import time

password = 'apple'

def start():
counter = 0
user_guess = ''

while user_guess != password:
print("enter password")
user_guess = input("-> ")
if user_guess != password:
counter += + 1 # Same thing as doing `counter = counter + 1`
time.sleep(counter)

grant()

def grant():
print "Access granted!"

start()

关于python - 每次循环重复时如何将一个数字添加到另一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19101460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com