Kunvictoria 发表于 2018-9-21 22:51:24

小甲鱼课后作业009 问题中动动手第一题

times = 3
answer = "FishC.com"
temp = input("请输入密码:")

while times>0:
    if temp == answer:
      print("密码正确,进入程序.....")
      break
    elif"*" in temp:
      input("密码中不能含有“*”号!您还有 %s 次机会!" % times)
      continue
    else:
      input("密码输入错误!您还有 %s 次机会!" % (times-1))
    times = times -1
            为什么这么写代码不行啊啊啊啊啊啊

claws0n 发表于 2018-9-21 23:17:26

什么不行?好好的~

Charles未晞 发表于 2018-9-21 23:18:41

你的不行是指什么?

RIXO 发表于 2018-9-21 23:21:14

claws0n 发表于 2018-9-21 23:17
什么不行?好好的~

大哥,为什么我问问题,他告诉帖子正在审核

Kunvictoria 发表于 2018-9-22 14:22:30

claws0n 发表于 2018-9-21 23:17
什么不行?好好的~

我用这个代码后,输入***是可以的,但是我输入别的不含*好的字符或者数字时,就达不到要求了,就出现了
请输入密码:***
密码中不能含有“*”号!您还有 3 次机会!121
密码中不能含有“*”号!您还有 3 次机会!ai
密码中不能含有“*”号!您还有 3 次机会!

Kunvictoria 发表于 2018-9-22 14:23:30

Charles未晞 发表于 2018-9-21 23:18
你的不行是指什么?

我用了上面的代码后出现下面的情况,不知道怎么解决
请输入密码:***
密码中不能含有“*”号!您还有 3 次机会!121
密码中不能含有“*”号!您还有 3 次机会!ai
密码中不能含有“*”号!您还有 3 次机会!

Charles未晞 发表于 2018-9-22 14:26:56

Kunvictoria 发表于 2018-9-22 14:23
我用了上面的代码后出现下面的情况,不知道怎么解决
请输入密码:***
密码中不能含有“*”号!您还有 3 ...

如果你想减少一次机会的话,把continue去掉。

Kunvictoria 发表于 2018-9-22 14:37:50

Charles未晞 发表于 2018-9-22 14:26
如果你想减少一次机会的话,把continue去掉。

但是他不执行下面这一行代码是为什么呢?
else:
      input("密码输入错误!您还有 %s 次机会!" % (times-1))
结果下面这样
请输入密码:***
密码中不能含有“*”号!您还有 3 次机会!123
密码中不能含有“*”号!您还有 2 次机会!mmmm
---------------------------------------------
本来应该输出
密码输入错误!您还有 2次机会!
但是就是不执行
崩溃中

密码中不能含有“*”号!您还有 1 次机会!

claws0n 发表于 2018-9-22 14:39:26

Kunvictoria 发表于 2018-9-22 14:22
我用这个代码后,输入***是可以的,但是我输入别的不含*好的字符或者数字时,就达不到要求了,就出现了
...

嗯,同楼上。你不要只是放代码上来,我们会以为是无法运行而已,以后应该说清楚你想达到的功能但是出了什么差错~

Charles未晞 发表于 2018-9-22 14:57:27

Kunvictoria 发表于 2018-9-22 14:37
但是他不执行下面这一行代码是为什么呢?
else:
      input("密码输入错误!您还有 %s 次机会!" %...

因为你temp一直是最开始输入的那个。
temp = input("密码中不能含有“*”号!您还有 %s 次机会!" % times)
类似这样才能同步更新。

Kunvictoria 发表于 2018-9-22 16:15:31

claws0n 发表于 2018-9-22 14:39
嗯,同楼上。你不要只是放代码上来,我们会以为是无法运行而已,以后应该说清楚你想达到的功能但是出了什 ...

嗯嗯,好滴,谢谢你们
页: [1]
查看完整版本: 小甲鱼课后作业009 问题中动动手第一题