所以我一直在读一下如何通过用户按下回车键退出while循环,我想出了以下内容:
import sys, select, os
switch = 1
i = 1
while switch == 1:
os.system('cls' if os.name == 'nt' else 'clear')
print "I'm doing stuff. Press Enter to stop me!"
print i
while sys.stdin in select.select([sys.stdin], [], [], 0)[0]:
line = raw_input()
if not line:
print "Finished! =]"
switch = 0
else:
print "Finished! =]"
switch = 0
i = i+1
Run Code Online (Sandbox Code Playgroud)
有没有办法整理一下?特别是"if not line"和下面的"else"看起来很乱.它们可以组合成一个吗?使用"开关"的更好的替代方案?
最初,如果我键入一堆字符,然后点击输入,它就不会停止循环.我必须再次按回车键.if not和else组件旨在将其设置为在第一次按Enter时退出.
我有一组表格中的数据:
X1 = [(1,1),(3,1),(5,0),(3,0),(2,1)]
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何将它们分组,以便:
X2 = [[(1,1),(3,1)],[(5,0),(3,0)],[(2,1)]]
Run Code Online (Sandbox Code Playgroud)
即,它们按照每个元组中的第二个值以连续方式分组.
我知道这是这样的:
http://docs.python.org/2/library/itertools.html#itertools.groupby
很简单,如果x是从1开始的任何正整数,那么如何编写以下内容?
if x == 1:
n = 1
elif 2 <= x <= 5:
n = 2
elif 6 <= x <= 9:
n = 3
elif 10 <= x <= 13:
n = 4
elif 14 <= x <= 17:
n = 5
Run Code Online (Sandbox Code Playgroud)
...等等...