读书的笔记有你 发表于 2020-8-26 11:26:28

python提问呢

count = 3
password = '笔记本'

while count:
    passw = input("请输入密码: ")
    if passw == password:
      print('密码输入正确: 程序启动后,请注意')
      break
    elif '*' in passw:
      print('您还有count次机会')
      continue
    else:
         print('输入密码与预先设置不符合, 'count-1' ,次机会’)
    count -= 1
File "<ipython-input-15-0cfce32f4a8b>", line 13
    print('输入密码与预先设置不符合, 'count-1' ,次机会’)
                              ^
SyntaxError: invalid syntax


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输出错在哪儿呀?
第二个程序输出为啥是对的?

sunrise085 发表于 2020-8-26 11:30:30

本帖最后由 sunrise085 于 2020-8-26 11:38 编辑

print('输入密码与预先设置不符合, 'count-1' ,次机会’)
逗号位置错了,应该在引号外,另外引号好像有中文的引号吧?
print('输入密码与预先设置不符合, ',count-1,'次机会')

疾风怪盗 发表于 2020-8-26 11:36:26

print(f'输入密码与预先设置不符合, { count - 1}次机会')
为什么不用这种格式,不是更方便么

永恒的蓝色梦想 发表于 2020-8-26 12:46:48

疾风怪盗 发表于 2020-8-26 11:36
为什么不用这种格式,不是更方便么

f-string 啊,可能是还没学到

xiaojiayu555 发表于 2020-8-26 13:35:28

试一试print('输入密码与预先设置不符合,您还有'+str(count)+'次机会')

yhhpf 发表于 2020-8-26 13:51:45

count - 1是代表count的值减去1后的结果。
而'count - 1'代表的是文本count-1,一个是文本,一个是代码计算。所以第一个会报错;
而第二段代码, print('密码输入错误!您还有', count-1, '次机会!', end=' ') ,其实可以看出3个组成部分:
1,'密码输入错误!您还有'
2, count-1,
3, '次机会!'
1和3都是有单独的''作为文本表示,而2里的没有用'',所以2会作为代码计算出结果之后打印出来,也就正确了;
页: [1]
查看完整版本: python提问呢