课后题:文件:一个任务
def filewrite(file_name):print('请输入内容【单独输入‘:w’保存退出】:') ####请问这句中为什么输入':w'就会暂停啊?
f = open(file_name, 'w')
while True:
a = input()
if a != ':w':
f.write('%s\n' % a)# 注意这里有换行符
else:
break
f.close() 本帖最后由 liuzhengyuan 于 2020-7-14 19:58 编辑
if a != ':w':
f.write('%s\n' % a)# 注意这里有换行符
else:
break
这里人为的判断,else 中使用 break 退出 if a != ':w':
f.write('%s\n' % a)# 注意这里有换行符
else:
break
这一部分进行判断,如果用户输入的内容不为 ':w' ,则将用户输入的内容写入文件;否则退出循环。 这是自己设定的。
只要和后面的if对应上,你设定什么都行。
你的程序,在后面if判断条件是
if a != ':w':
也就是输入内容为 :w 的时候,就停止了。
若把这个条件改为:
if a != '我不写了!':
那么,当你输入“我不写了!”,就停止了
请问这句中为什么输入':w'就会暂停啊?
因为你 while 条件循环的 循环中的 if 条件是 当 a 不等于 :w 时候 就将 a 的内容写入文件中去
反之当 a 等于 :w 的时候 , 那么 if 条件就不成立 , 执行 else 的代码块
而 else 下的代码是 break 退出 while 循环 , 所以此时就达到你你输入 :w 就退出循环的效果
当然 , 这里的 :w 是你自己设置的 , 你可以设置为 'Esc' , '退出' 再或者 '10086' 都完全没毛病, 就是判断 if 条件是否成立而已哈~
页:
[1]