鱼C论坛

 找回密码
 立即注册
查看: 798|回复: 4

[已解决]刚学python,遇到点问题,求大佬指点

[复制链接]
发表于 2023-12-21 22:52:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
当密码和金额都输入正确的时候,该怎么停止外部的循环?就是输入金额正确之后,打印  ‘交易完成,请取走你的现金和卡’,之后又会让你重新输入密码的那一段,我写的我很乱,求指点


s = 2
while s >= 0:
   
    if int(input('请输入你的密码:')) == 111111:
        print('密码输入正确')      
        y = 2
        while y >= 0:
            x = int(input('请输入你提取的金额:'))
            if 100 > x or 1000 < x:
                print('对不起,最低只能提取100,最高为1000')
            else:
                print('交易完成,请取走你的现金和卡')
                break     
            y -= 1         
    else:
        if s >= 1:
            print(f'密码错误,请重试,还有{s}次机会')
        else:
            print('密码错误,账户受到保护,请取卡')
      
    s -= 1
最佳答案
2023-12-22 08:57:06
你代码里面的break只能结束内循环,外循环再加一个break。代码如下(请看红色部分):
s = 2
while s >= 0:

    if int(input('请输入你的密码:')) == 111111:
        print('密码输入正确')
        y = 2
        while y >= 0:
            x = int(input('请输入你提取的金额:'))
            if 100 > x or 1000 < x:
                print('对不起,最低只能提取100,最高为1000')
            else:
                print('交易完成,请取走你的现金和卡')
                break
            y -= 1
        break
    else:
        if s >= 1:
            print(f'密码错误,请重试,还有{s}次机会')
        else:
            print('密码错误,账户受到保护,请取卡')

    s -= 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-21 22:53:09 | 显示全部楼层
你可以使用`break`语句来停止外部的循环。在打印"交易完成,请取走你的现金和卡"之后,你可以在内部的循环中添加一个标志变量来判断是否需要重新输入密码。

下面是修改后的代码示例:
while True:    password = int(input('请输入你的密码:'))        if password == 111111:        print('密码输入正确')                while True:            amount = int(input('请输入你提取的金额:'))                        if amount < 100 or amount > 1000:                print('对不起,最低只能提取100,最高为1000')            else:                print('交易完成,请取走你的现金和卡')                 break                    # 内部循环结束后,询问是否需要重新输入密码        continue_input = input('是否需要重新输入密码?(y/n): ')                if continue_input.lower() != 'y':            break            else:        print(f'密码错误,请重试')
在这个代码示例中,我们使用了两个`while True`循环来实现账户验证和金额提取的功能。当密码输入正确且金额提取成功时,会打印"交易完成,请取走你的现金和卡",然后会询问用户是否需要重新输入密码。如果用户输入的不是'y',则使用`break`语句停止外部的循环,程序结束运行。否则,内部循环会重新开始,等待用户重新输入密码。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-22 08:57:06 | 显示全部楼层    本楼为最佳答案   
你代码里面的break只能结束内循环,外循环再加一个break。代码如下(请看红色部分):
s = 2
while s >= 0:

    if int(input('请输入你的密码:')) == 111111:
        print('密码输入正确')
        y = 2
        while y >= 0:
            x = int(input('请输入你提取的金额:'))
            if 100 > x or 1000 < x:
                print('对不起,最低只能提取100,最高为1000')
            else:
                print('交易完成,请取走你的现金和卡')
                break
            y -= 1
        break
    else:
        if s >= 1:
            print(f'密码错误,请重试,还有{s}次机会')
        else:
            print('密码错误,账户受到保护,请取卡')

    s -= 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-22 13:49:28 | 显示全部楼层
kerln888 发表于 2023-12-22 08:57
你代码里面的break只能结束内循环,外循环再加一个break。代码如下(请看红色部分):
s = 2
while s >= 0: ...

感谢感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-22 21:59:17 | 显示全部楼层

客气,大家互助一起进步
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-15 09:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表