鱼C论坛

 找回密码
 立即注册
查看: 2203|回复: 3

[已解决]第29讲课后习题动动手第0题

[复制链接]
发表于 2017-8-19 09:16:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
练习题描述:编写一个程序,接受用户的输入并保存为新的文件
环境:win7家庭版。
代码1:
def filewrite(file_name):
    f=open(file_name,'w'),
    print("请输入内容:【单独输入:w】保存退出")

    while True:
        content = input(),
        if content != ':w':
           f.write('%s\n' %content),   
        else:
            break
        
    f.close()
   

file_name = input('请输入文件名:'),
filewrite(file_name)

编译后的错误描述:
C:\Users\Administrator\Desktop

代码2:

def file_new(filename):
    f=open(filename,'w'),
    print("单独输入:w保存退出"),

    while True:
       content = input(),
       if content != ':w':
          f.write('%s\n' %content)
       else:
          break
    f.close()
   
filename = input("请输入文件名:")
file_new(filename)


出错描述C:\Users\Administrator\Desktop


提问:检查过好几次都没发现过明显的错误,例如中文英文,第一个似乎是路径问题?第2个似乎是内容被定义为元组了,但是元组中不没有write的方法,其实这段代码是和小甲鱼课后答案差不多照着抄,也报错了。。百度后也没有找到什么结果。。求大神指出是不是哪里写错的。。

最佳答案
2017-8-19 09:39:53


2017-08-19_093801.png

  1. def filewrite(file_name):   
  2.     f=open(file_name,"w")   
  3.     print("请输入内容:【单独输入:w】保存退出")

  4.     while True:
  5.         content = input()
  6.         if content != ':w':
  7.            f.write('%s\n' %content)  
  8.         else:
  9.             break
  10.         
  11.     f.close()
  12.    

  13. file_name = input('请输入文件名:')
  14. filewrite(file_name)
复制代码

  1. def file_new(filename):
  2.     f=open(filename,'w')
  3.     print("单独输入:w保存退出")

  4.     while True:
  5.        content = input()
  6.        if content != ':w':
  7.           f.write('%s\n' %content)
  8.        else:
  9.           break
  10.     f.close()
  11.    
  12. filename = input("请输入文件名:")
  13. file_new(filename)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-8-19 09:19:18 | 显示全部楼层
贴图没办法贴出来
只好用文字版了,第一个报错是:
============== RESTART: C:\Users\Administrator\Desktop\open.py ==============
请输入文件名:aa.txt
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\open.py", line 16, in <module>
    filewrite(file_name)
  File "C:\Users\Administrator\Desktop\open.py", line 2, in filewrite
    f=open(file_name,'w'),
TypeError: expected str, bytes or os.PathLike object, not tuple
>>>


第2个是:

============== RESTART: C:\Users\Administrator\Desktop\test.py ==============
请输入文件名:aa.txt
单独输入:w保存退出
aa
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\test.py", line 14, in <module>
    file_new(filename)
  File "C:\Users\Administrator\Desktop\test.py", line 8, in file_new
    f.write('%s\n' %content)
AttributeError: 'tuple' object has no attribute 'write'
>>>

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-19 09:39:53 | 显示全部楼层    本楼为最佳答案   


2017-08-19_093801.png

  1. def filewrite(file_name):   
  2.     f=open(file_name,"w")   
  3.     print("请输入内容:【单独输入:w】保存退出")

  4.     while True:
  5.         content = input()
  6.         if content != ':w':
  7.            f.write('%s\n' %content)  
  8.         else:
  9.             break
  10.         
  11.     f.close()
  12.    

  13. file_name = input('请输入文件名:')
  14. filewrite(file_name)
复制代码

  1. def file_new(filename):
  2.     f=open(filename,'w')
  3.     print("单独输入:w保存退出")

  4.     while True:
  5.        content = input()
  6.        if content != ':w':
  7.           f.write('%s\n' %content)
  8.        else:
  9.           break
  10.     f.close()
  11.    
  12. filename = input("请输入文件名:")
  13. file_new(filename)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-19 12:53:07 | 显示全部楼层
python对于逗号也这么敏感啊,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-1 17:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表