714536074 发表于 2020-3-2 22:42:28

设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中...

设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内。
count = 3
password = 'FishC.com'

while count:
    passwd = input('请输入密码:')
    if passwd == password:
      print('密码正确,进入程序......')
      break
    elif '*' in passwd:
      print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ')
      continue
    else:
      print('密码输入错误!您还有', count-1, '次机会!', end=' ')
    count -= 1



print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ')
这句代码中,count=3,count应该是整型(int)吧,而代码中的文字是字符串类型,怎么不会出现输出错误?


我的代码:
password='13579'
password1=input('请输入密码:')

i=3
while i<=3:
    if password1==password :
      print("密码验证成功")
      break
    if '*' in password1:
      print('请重新输入!')
      password1 = input('请输入密码:')
    else:
      i-=1
      print("密码验证失败",'还有',i-=1,'机会!')
      

      password1 = input('请输入密码:')




print("密码验证失败",'还有',i-=1,'机会!')我写的代码为什么i-=1也是整型数据,却会出现输出类型不一样的错误


求解

ouyunfu 发表于 2020-3-2 23:32:10

i-=1 等价于i=i-1,是赋值运算。正确代码如下password='13579'
password1=input('请输入密码:')

i=3
while i:
    if password1==password :
      print("密码验证成功")
      break
    if '*' in password1:
      print('请重新输入!')
      password1 = input('请输入密码:')
    else:
      i-=1
      print("密码验证失败",'还有',i,'机会!')
      
      password1 = input('请输入密码:')

1972熊大叔 发表于 2020-3-3 16:37:26

楼上正解。赋值表达式不是字符串,它不能直接和其他字符一起输出,除非给表达式加上表示字符串特征的引号,像这样:“i -= 1”,只是加了引号表达的意思不是你原来想要的了

月亮一半 发表于 2022-9-11 22:35:09

code="FishC.com"
times=3

while times:
    i=input("请输入密码:")
    if i==code:
      print("密码正确,进入程序···")
      break
    elif '*' in i:
      print("密码中不能含有'*'号,您还有',times,'次输入机会!",end='')
      continue #终止本轮循环,并判断while times:是否为真,若为真则继续进行下一次循环
    else:
      print("密码输入错误!您还有',times-1,'次机会!",end='')
    times -= 1

为什么这段程序运行后,times具体是多少显示不出来呢?只会显示:密码中不能含有'*'号,您还有',times,'次输入机会!

yg飞许 发表于 2023-1-11 14:18:04

月亮一半 发表于 2022-9-11 22:35
code="FishC.com"
times=3



改成print('密码输入错误!您还有',times-1,'次机会!',end='')
""告诉python直接打印双引号的内容

liuhongrun2022 发表于 2023-1-11 15:42:23

别的不用动
print("密码验证失败",'还有', i, '次机会!")
页: [1]
查看完整版本: 设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中...