gaoxiuhua520 发表于 2022-9-16 03:05:03

图片遇到第一个 :w不会停止的?

def write_file(file_name):
    f=open(file_name,"w")
    print("请输入要写的内容,\":w\"结束:")
    while True:
      some =input()
      if some != ":w":
            f.write("%s\n" %some)
      else:
            break

    f.close()



file_name =input("请输入文件名:")
write_file(file_name)

wp231957 发表于 2022-9-16 06:12:58

那不都是一行吗,所以那some是那一大串字符

jackz007 发表于 2022-9-16 09:01:26

       这个代码只有在一次输入中,专门输入 ':w' 才会结束,试试像下面这样输入
Abc
123
#$%
:w

Twilight6 发表于 2022-9-16 09:31:48


input 每次输入的字符串是一次性赋值返回给 some 变量的,而 if 那判断的是仅判断 ":w" 这个字符串

例如当你输入 "adffadf :w" 时 ,if 判断 "adffadf :w" 是否等于 ":w" ,很显然不相等

所以这个程序,只有在单独一行字符串为 :w 时才能写入文件

z5560636 发表于 2022-9-16 09:42:59

本帖最后由 z5560636 于 2022-9-16 10:37 编辑

def write_file(file_name):
    f=open(file_name,"w")
    print("请输入要写的内容,\":w\"结束:")
    while True:
      some =input()
      if ":w" not in some:
            f.write("%s\n" %some)
      else:
            break

    f.close()



file_name =input("请输入文件名:")
write_file(file_name)

hveagle 发表于 2022-9-17 11:09:43

ABCDEFG :w #不退出
:w #退出
页: [1]
查看完整版本: 图片遇到第一个 :w不会停止的?