Oldsport996 发表于 2021-6-29 11:48:50

老版零基础python 29讲课后习题,输不对

name=input('请输入文件名:')
neirong=input('请输入内容【":w保存退出"】:')
yonghu=open(name+'.txt','w')
while True:
      if neirong != ':w':
            yonghu.write('%s\n' % neirong)
      else:
            break
yonghu.close()



我输入内容的时候按 :w回车 死活不结束判定,还在继续需求内容,我反复对比了小甲鱼的代码没看出啥实质性区别

wp231957 发表于 2021-6-29 11:52:05

中文冒号和西文冒号不一样,是否能排除此项

Oldsport996 发表于 2021-6-29 12:44:51

wp231957 发表于 2021-6-29 11:52
中文冒号和西文冒号不一样,是否能排除此项

可以排除此项,因为换了其他简单的符号 也不行,例如:`

jackz007 发表于 2021-6-29 12:46:21

本帖最后由 jackz007 于 2021-6-29 12:49 编辑

你得把键盘输入放进循环内
name=input('请输入文件名:')
yonghu=open(name+'.txt','w')
while True:
      neirong=input('请输入内容【":w保存退出"】:') . strip()      # 这一句必须在循环内,不然,变量 neirong 的内容始终不变,你还循环干啥?
      if neirong != ':w':
            yonghu.write('%s\n' % neirong)
      else:
            break
yonghu.close()

Twilight6 发表于 2021-6-29 13:12:29

Oldsport996 发表于 2021-6-29 12:44
可以排除此项,因为换了其他简单的符号 也不行,例如:`



刚才没认真看代码,你代码死循环了,楼上代码正解
页: [1]
查看完整版本: 老版零基础python 29讲课后习题,输不对