以下python代码中有一些疑问帮忙解决一下,谢谢啦~
本帖最后由 yuhanhanhan 于 2019-10-11 11:01 编辑def file_write(file_name):
f = open(file_name,'w')
print('请输入内容【单独输入\':w\'保存退出】:')
while True:
write_some = input()
if write_some != ':w': #字符串相等应该是完全一样,这个程序想要达成的目标应该是判断只要出现了:w就退出程序,但该程序怎么越看越像是判断全部都相等呢
f.write('%s\n' % write_some) #为什么要在%s后面换行
else:
break
f.close()
file_name = input('请输入文件名:')
file_write(file_name)
问题:1、字符串相等应该是完全一样,这个程序想要达成的目标应该是判断只要出现了:w就退出程序,但该程序怎么越看越像是判断全部都相等呢
为什么要在%s后面换行 本帖最后由 yuweb 于 2019-10-11 11:24 编辑
如果是':w'开头就退出的话,那你就用write_some!= ':w'判断
如果说只要包含':w'就退出的话,那你就用':w' in write_some 判断
在%s后面换行是因为你是逐行保存到文件的而不是一直添加到文件末尾
比如你第一次输入'123',第二次输入'qwe',在文件中保存为
123
qwe
而不是
123qwe 1. 如果用户输入了 :w 就退出程序(输入 :wd、d:w 等包含 :w 但是和 :w 不相等的字符串不会退出)。
2. 换行可以作为用户输入文本的分隔符,没有分隔符整个文件的文本就会连在一起。例如用户输入 aa、bb,用户想要的效果是文件写入下面的内容:
aa
bb
而不是下面的内容:
aabb
页:
[1]