python课后作业第九讲动动手第0题
count= 3password = 'FishC.com'
a= '请输入密码:'
while count:
passwd = input(a)
if passwd == password:
print('密码正确,进入程序......')
break
elif '*' in passwd:
print('密码中不能含有“*”号!您还有',count,'次机会!"a"')
continue
else:
print('密码输入错误!您还有',count-1,'次机会!"a"')
count-=1
我想要少打一些字,于是在前面设置了一个变量a='请输入密码:',但是结果出来的时候不会把a的内容打印出来,而是直接把“a”打出来,这个想法是不能实现吗? 本帖最后由 冬雪雪冬 于 2021-9-27 16:41 编辑
把a的引号去掉试试
改成这样
print('密码中不能含有“*”号!您还有',count,'次机会!', a)
但没有明白你的思路 啥意思?
我试了你的代码没出现什么不会把a得内容打印出来,直接显示请输入密码:
print('密码输入错误!您还有',count-1,'次机会!"a"')
改为
print('密码输入错误!您还有',count-1,'次机会!' , a) 本帖最后由 璎珞君 于 2021-9-27 17:42 编辑
唔 当你的条件为假时进入重新输入的打印语句,由于你的a加入了双引号且在于字符串( '次机会!"a"' ) 内,这时候的“a”是一个字符串而不是一个变量名为a的数据存储,因而打印时是显示字符串的"a"。
所以将 ( '次机会!"a"' ) 改成 ('次机会!' , a ) 就可以了 三种方法:(三种字符串格式化)
a = "请输入密码:"
x = input(f"{a}") # 方法1:f-string 格式
y = input("%s"%a) # 方法2:% 格式
z = input("{}".format(a)) # 方法3:.format 格式
页:
[1]