Chinaunix

标题: 如何跳出当前循环进入“上一个”循环 [打印本页]

作者: 450120127    时间: 2016-01-08 23:01
标题: 如何跳出当前循环进入“上一个”循环
小弟新手,在编写ATM程序,某段代码思路如下:
修改密码:
1、输入老密码,若与老密码不同则continue
2、输入新密码,密码必须6位数字
3、再次输入新密码,密码必须6位数字
判断两次新密码是否相同,若不同,跳回2 输入新密码,然后再到3再次输入新密码。
代码如下:
  1. while True:
  2.     choice = raw_input("Please input which of your choice: ")
  3.     if choice == "1":
  4.         while True:
  5.             oldpassword = int(raw_input("Please input your oldpassword: "))
  6.             if oldpassword != userinfo[login][0]:
  7.                 print "Input error,Please input again!"
  8.             else:
  9.                 global newpassword
  10.                 newpassword = 0
  11.                 while True:
  12.                     try:
  13.                         newpassword = int(raw_input("Please input your newpassword,must be six: "))
  14.                     except ValueError:
  15.                                                 print "Must be six numbers"
  16.                     if len(str(newpassword)) != 6:
  17.                         continue
  18.                     else:
  19.                         global newpasswordagain
  20.                         newpasswordagain = 0
  21.                         while True:
  22.                             try:
  23.                                 newpasswordagain = raw_input("Please input your newpassword again,must be six: ")
  24.                             except ValueError:
  25.                                 print "Must be six numbers"
  26.                             if newpassword != newpasswordagain:
  27.                                 print "newpassword is not equal newpassword again"
复制代码
请问如何实现
判断两次新密码是否相同,若不同,跳回2 输入新密码,然后再到3再次输入新密码。
作者: kggg    时间: 2016-01-09 21:06
  1. while True:
  2.     choice = raw_input("Please input which of your choice: ")
  3.     if choice == "1":
  4.         while True:
  5.             inputpassword = int(raw_input("Please input your oldpassword: "))
  6.             if inputpassword != oldpassword:
  7.                 print "Input error,Please input again!"
  8.             else:
  9.                 break
  10.         global newpassword
  11.         newpassword = 0
  12.         while True:
  13.             newpassword = int(raw_input("Please input your newpassword,must be six: "))
  14.             if len(str(newpassword)) != 6:
  15.                 print "Must be six numbers"
  16.             else:
  17.                 break
  18.         global newpasswordagain
  19.         newpasswordagain = 0
  20.         while True:
  21.             newpasswordagain = int(raw_input("Please input your newpassword again,must be six: "))
  22.             if newpassword != newpasswordagain:
  23.                 print "newpassword is not equal newpassword again"
  24.             else:
  25.                 break
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2