python学习中,遇见个问题,请教一下。

  • I
    IT民工
    password_correct = password == password_list[-1]
    password_reset = password == password_list[0]

    这是啥写法啊?
  • 二花
    tries 只有密码错误的时候才会自减
  • 懒散的牛
    回复2#IT民工


    跟着地板推荐的书学的。。《编程小白的第一本python书》,看意思应该是正确密码是最后一个,第一个是重置密码,重置密码就是在末尾添加新密码。。。
  • 懒散的牛
    回复3#二花


    登陆成功那里呢?正常不是应该登陆成功程序就结束了么?





    1. password_list=['*#*#','12345']
    2. def account_login():
    3. password = input('Password:')
    4. password_correct = password ==password_list[-1]
    5. password_reset = password == password_list[0]
    6. if password_correct:
    7. print('Login success!')
    8. elif password_reset:
    9. new_password = input('Enter New Password:')
    10. password_list.append(new_password)
    11. print('Your password has changed successfuly!')
    12. print(password_list) #查看列表,新密码在-1位置。
    13. account_login()
    14. else:
    15. print('Wrong password or invalid input!')
    16. account_login()
    17. account_login()
    复制代码







    后面这个就可以结束程序。。
  • l
    lwjef
    if password_correct:
    print("登陆成功")
    break
  • s
    smalltintin
    while,正确了,也没见退出来啊
  • k
    ketkou
    这个程序固定循环三次,你没有用break跳出循环
  • J
    Johnny_zhu
    print("登陆成功")后面加个
    break
  • 懒散的牛
    回复9#Johnny_zhu


    这里加了break,输入修改密码以后还是有点小问题,要输入两次正确密码才结束进程。。。
  • 数字行星
    回复10#懒散的牛


    elif password_reset:
    里的
    account_login()去掉,又进了一层,所以要两次.
  • h
    haskio
    加一个break。。
  • a
    am99
    授人以渔
    在循环体第一行插入一行打印变量。尝试次数

    iOS fly ~
  • 懒散的牛
    回复11#数字行星


    多谢多谢,搞定了。书的示例代码有问题。
  • 懒散的牛
    回复13#am99


    1. def account_login():
    2. tries = 3
    3. while tries > 0:
    4. print(tries)
    复制代码


    多谢,请问是这样么?
  • l
    lyzj2001
    说个题外话 把 while 和 if check 拆开 不要混在一起写
  • e
    euzen
    ==的运算级别比=高。 iOS fly ~
  • 懒散的牛
  • x
    xycfwrj
    lz这是写网络赌博程序的话,
    你们这些技术支持等着连坐哦
  • 懒散的牛
    回复19#xycfwrj


    别闹。。。真的是在学习。。。


  • k
    ketkou
    这个代码是很简单的一个逻辑结构,但楼主这种写法搞得很难读,计算量一致的情况下还是要随大流的写法,逻辑结构读起来才一目了然,a=b==c的这种还是少用,直接if (b==c)简单明了,还省去一个变量a
  • 懒散的牛
    回复21#ketkou


    刚开始学啊。。。都是按照书里面敲的。。。
  • b
    btyufe
    我觉得python语句格式有的地方非常灵活,有的地方又非常死板,让我这个会点vb的菜鸟很难受
  • 懒散的牛
    回复21#ketkou


    是这样修改么?

    1. password_list = ['*#*#','12345']

    2. def account_login():
    3. tries = 3
    4. while tries > 0:
    5. password = input("请输入密码:")
    6. # password_correct = password == password_list[-1]
    7. # password_reset = password == password_list[0]

    8. if password == password_list[-1]:
    9. print("登陆成功")
    10. break
    11. elif password == password_list[0]:
    12. new_password = input('请输入新密码:')
    13. password_list.append(new_password)
    14. print('密码已经修改')
    15. account_login()
    16. else:
    17. print('密码错误')
    18. tries = tries - 1
    19. print('错误',tries,'次后锁定账户')
    20. else:
    21. print('Your account has been suspended')
    22. account_login()
    复制代码
  • s
    senfawong
    编程小白的第一本python书
  • 懒散的牛
    回复25#senfawong

    嗯。。看地板有个兄弟整理的python学习资料下载的。。 ios fly~
  • a
    aaronfu
    回复26#懒散的牛


    求原帖, 也学习一下
  • 懒散的牛
    回复27#aaronfu

    好像在geek分区里呢,回去帮你一下哈。

    https://www.hi-pda.com/forum/viewthread.php?tid=2114029
    ios fly~
  • b
    bladeknight
    加一个if your_bet <= money
    把if your_choice 直到 return 全部缩进
    else:
    print('Invalid money')
    return start_game()
  • 懒散的牛
    回复29#bladeknight

    多谢,我试试ios fly~
  • a
    anilvos
    这什么资料啊
  • 懒散的牛
    回复31#anilvos

    看上面,我发了个帖子链接,有个兄弟整理的各种书。
    这本叫编程小白的第一本python入门书。 ios fly~
  • b
    bladeknight
    看上去是对的 报错是缩进有问题 把报错信息去百度,看一下第一条结果试试
  • s
    shutup!
    mark.
  • z
    zeroxia
    一起学习。
    dice.py(5.28 KB)
  • 懒散的牛
    回复36#zeroxia


    多谢多谢,代码好多。。我慢慢消化一下。