忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 609 | 回复: 5

if lines and input('More?') not in ["y", "Y"]: #python2 [复制链接]

论坛徽章:
84
数据库技术版块每日发帖之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
发表于 2017-06-27 16:54 |显示全部楼层
5可用积分
import os
import sys

def more(text, numlines=15):
    lines = text.splitlines()
    while lines:
        chunk = lines[:numlines]
        lines = lines[numlines:]
        for line in chunk:
            print(line)
        if lines and input('More?') not in ["y", "Y"]:   # <--- can not work in python2, why?
            break

if __name__ == '__main__':
    more(open(sys.argv[1]).read(), 10)

---------------------------------------------------------------
Traceback (most recent call last):
  File "more.py", line 15, in <module>
    more(open(sys.argv[1]).read(), 10)
  File "more.py", line 11, in more
    if lines and input('More?') not in ["y", "Y"]:
  File "<string>", line 1, in <module>
NameError: name 'y' is not defined


最佳答案

查看完整内容

python2 input 接受的是表达式 可以输入 "Y" 带引号 或者用raw_input

论坛徽章:
5
午马
日期:2014-04-30 13:28:11技术图书徽章
日期:2014-04-18 08:52:38摩羯座
日期:2014-11-07 13:34:122015年亚洲杯之日本
日期:2015-03-12 14:01:4915-16赛季CBA联赛之北京
日期:2017-06-28 17:25:56
发表于 2017-06-27 16:54 |显示全部楼层
python2 input 接受的是表达式  可以输入 "Y" 带引号  或者用raw_input

论坛徽章:
84
数据库技术版块每日发帖之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
发表于 2017-06-28 15:49 |显示全部楼层
跟 list 无关,原来坑在 input 那里啊

  1. from __future__ import print_function
  2. import os
  3. import sys

  4. try: input = raw_input
  5. except NameError: pass

  6. def more(text, numlines=15):
  7.     lines = text.splitlines()
  8.     while lines:
  9.         chunk = lines[:numlines]
  10.         lines = lines[numlines:]
  11.         for line in chunk:
  12.             print(line)
  13.         if lines and input('More?') not in ["y", "Y"]:
  14.             break

  15. if __name__ == '__main__':
  16.     more(open(sys.argv[1]).read(), 10)
复制代码

论坛徽章:
84
数据库技术版块每日发帖之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
发表于 2017-06-28 15:51 |显示全部楼层
二楼你自己已经解决了

论坛徽章:
84
数据库技术版块每日发帖之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
发表于 2017-06-28 16:13 |显示全部楼层
悬赏后 自己不能 回答问题->标记已解决 ?

哪位好心的同学,出来再解释一遍啊,好把这个悬赏关掉

论坛徽章:
84
数据库技术版块每日发帖之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
发表于 2017-06-29 13:55 |显示全部楼层
回复 5# murdercool

谢谢
也可以用这个,同时兼容 python2 python3
try: input = raw_input
except NameError: pass
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP