python题谁帮我一下,yyds帮帮我

假设一个简单的ATM机的取款过程是这样的:首先提示用户输入密码(password),最多只能输入三次,超过三次则提示用户“密码错误,请取卡”结束交易。如果用户名密码正确,再提示用户输入金额(amount),ATM机只能输出100元的纸币,一次取钱数要求最低0元,最高1000元。如果用户输入的金额符合上述要求,则打印输出用户取的钱数,最后提示用户“交易完成,请取卡”,否则提示用户重新输入金额。
提示:
利用二重循环实现。
外层循环控制用户输入密码的次数以及是否验证通过。如果密码未通过验证,利用continue跳转到外层循环条件处,继续接收用户输入。
内层循环控制用户输入的金额。如果金额合法,则输出用户取钱金额并提示交易完成,并利用break跳出循环;否则利用continue跳到内层循环条件处继续接收用户输入

题目有点问题,0元又怎么可以取出呢?


a=1

while True:
    password = input('请输入密码:')
    if password != '123':
        a = a + 1
        print('第'+str(a-1)+'次密码错误')
        
        if a > 3:
            print('密码错误,请取卡')
            break

    elif password == '123':
        print('请输入金额(amount)')

        while True:
            money = int(input('ATM机只能输出100元的纸币,一次取钱数要求最低100元,最高1000元:'))
            if money >= 100 and money <= 1000:
                print('取出金额:',money)
                print('交易完成')
                break

            else:
                print('输入金额错误')
                continue

PASSWORD = "yes"
ok = False

for i in range(3):
    if (input() == PASSWORD):
        ok = True

if (not ok):
    print("密码错误,请取卡")
    exit(0)

while(money = int(input()))
      if (money % 100 == 0 and money > 0 and money <= 1000):
            print("取了{}元".format(money)
            print("交易完成,请取卡")
            break;
     else:
            print("重新输入")


user_code = "123456"
flag_done = 0
flag_error = 0
for i in range(3):
    password = input("请输入交易密码:")
    if(password== user_code):
        while 1:
            money = int(input("请输入取款金额:"))
            if(0<=money<=1000 and money%100==0):
                print("取款{}元".format(money))
                print("交易完成,请取卡")
                flag_done=1
                break
            else:
                print("金额输入有误,",end="")
    else:
        if(i==2):
            print("密码错误,请取卡")
        else:
            print("密码错误,",end="")
    if(flag_done==1):
        break

假定密码是123456,输入三次错误退出如下:

img

金额如果输错将会一直重复输入

img