月半三木 发表于 2021-7-4 15:59:55

字符串内容判断

课后作业的代码如下:
def file_write(file_name):
    f=open(file_name,'w')
    print('请输入内容【单独输入\‘:w\’保存退出】:')
    while True:
      write_some=input()
      if write_some!=':w':
            f.write('%s\n'%write_some)
      else:
            break
    f.close()
file_name=input('请输入文件名:')
file_write(file_name)

我本人的代码如下:
name=input('请输入文件名(含拓展名):')
str1=input('请输入内容:【单独输入\':w\'保存退出】:')
f=open(name,'w')
while 1:
    if str1==':w':
      break
    else:
      f.write(str1)
f.close()
但是我的代码无法识别:w,想问一下是为什么, 如何修改

qiuyouzhi 发表于 2021-7-4 16:11:43

你的代码不应该把输入都放到那个循环里面吗

月半三木 发表于 2021-7-4 16:31:39

qiuyouzhi 发表于 2021-7-4 16:11
你的代码不应该把输入都放到那个循环里面吗

把输入放到循环里还是不能识别啊,改成了这样
name=input('请输入文件名(含拓展名):')
f=open(name,'w')
while 1:
    str1=input('请输入内容:【单独输入\':w\'保存退出】:')
    if str1==':w':
      break
    else:
      f.write(str1)
f.close()

qiuyouzhi 发表于 2021-7-4 17:16:16

月半三木 发表于 2021-7-4 16:31
把输入放到循环里还是不能识别啊,改成了这样
name=input('请输入文件名(含拓展名):')
f=open(name, ...

?本地测试没有问题
请输入文件名(含拓展名):abc.txt
请输入内容:【单独输入':w'保存退出】:a
请输入内容:【单独输入':w'保存退出】:b
请输入内容:【单独输入':w'保存退出】:c
请输入内容:【单独输入':w'保存退出】:d
请输入内容:【单独输入':w'保存退出】:e
请输入内容:【单独输入':w'保存退出】:f
请输入内容:【单独输入':w'保存退出】:g
请输入内容:【单独输入':w'保存退出】:H
请输入内容:【单独输入':w'保存退出】:i
请输入内容:【单独输入':w'保存退出】:\n
请输入内容:【单独输入':w'保存退出】::w
>>>

月半三木 发表于 2021-7-4 17:25:18

qiuyouzhi 发表于 2021-7-4 17:16
?本地测试没有问题

你如果在一串字符中加入就不能识别,例如:ugdsgidb :w,这种,

qiuyouzhi 发表于 2021-7-4 17:38:38

月半三木 发表于 2021-7-4 17:25
你如果在一串字符中加入就不能识别,例如:ugdsgidb :w,这种,

不是说单独输入\w 才退出吗,没必要夹在一串字符里

月半三木 发表于 2021-7-5 14:28:50

qiuyouzhi 发表于 2021-7-4 17:38
不是说单独输入\w 才退出吗,没必要夹在一串字符里

好吧,那按我说的,如果要识别字符串里的:w,有办法吗

qiuyouzhi 发表于 2021-7-5 16:25:19

月半三木 发表于 2021-7-5 14:28
好吧,那按我说的,如果要识别字符串里的:w,有办法吗

if ':w' in str1:
页: [1]
查看完整版本: 字符串内容判断