马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
9.5
我下面的代码不应该打印出 3 么?结果却是没有while True:
while True:
break
print(1)
print(3)
而答案的代码却能打印出2 和3while True:
while True:
break
print(1)
print(2)
break
print(3
动动手0.
我以下代码有什么问题么?count = 3
password = 666
while count:
passwd = input("请输入密码")
if passwd == password:
print("密码正确,进入程序......")
break
elif "*" in passwd:
print("密码中不能含有"*"号!" "您还有",count ,"次机会!",end=" ")
continue
else:
print("密码错误!您还有",count-1 "次机会!",end=" ")
count-1=1
本帖最后由 Twilight6 于 2020-6-3 11:41 编辑
- 第一个代码:
因为你死循环了 永远不会执行到 print() 函数那,而且 break 是终止并退出循环,在print(1) 前面也导致了print(1) 永远不被执行
- 第二个代码:
print(2) 下面有break 可以退出循环执行print(3) 所以都能打印
- 动动手问题:
1 . 逗号好几个是中文逗号,要改成英文
2 . password 是整型 而 input 输出的是字符串 永远不可能相等 ,要在passwd 那转成整型 int 或者把 password 转为字符串 ,因为你要判断 * 号是否在你输入内,所以建议这里改成字符串
3 ."密码中不能含有"*"号!" "您还有",count ,"次机会!" 在字符串内引号如果重复使用要记得转义,除非是单双引号配合,因为Python 识别不出来你两个引号间到底是哪个引号的字符串
4 . 没有 count - 1 = 1 这种赋值方法 改成 count -= 1 或者 count = count - 1
count = 3
password = '666'
while count:
passwd = input("请输入密码")
if passwd == password:
print("密码正确,进入程序......")
break
elif "*" in passwd:
print("密码中不能含有\"*\"号!" "您还有",count ,"次机会!",end=" ")
continue
else:
print("密码错误!您还有",count-1, "次机会!",end=" ")
count -= 1
|