作者回复: ctrl+/
作者回复: 您好,我先回答第二个问题,python确定语句块(比如if语句块包含一条语句还是两条语句)是看缩进来判断的,缩进可以是一个或者多个空格或者tab,但是我们习惯上缩进用四个空格。 那我们回头来看第一个问题, (四个空格) if num == 10: (八个空格) continue (八个空格) print(num) 这里的print()语句如果前面只有四个空格那么,程序会执行if语句之后,执行print()语句;而第二个代码print()前面有8个空白格,那么print就被包括做if语句块中了,它的前一个语句是continue,表示外面的循环语句遇到这条语句就跳过一次循环,因此你就看不到print函数的输出了,也就是你认为的无法运行,其实是程序在一直执行循环,但是没有输出
作者回复: continue语句帮你完美的避过了time模块,程序执行到continue会跳出循环,下面的time模块不被执行
作者回复: 正确,稍后我会在github公布练习题答案
作者回复: ctrl + /
作者回复: 这个错误的意思是'类型错误:list的索引必须是'integers'或者'slices'不能是'type' ,检查一下 stack[-1]或 current 的值是不是 'integers'或者'slices'
作者回复: ctrl + / 是 IDE的快捷键
作者回复: 猜测是和++的含义相关,因为++的含义是改变元素本身,而Python指向的整数对象是不可变的对象,和它对整数类型的定义冲突了
作者回复: 您好, 抛出异常之后程序不会向下执行,所以if部分没有被执行到,考虑IndexError 的异常,可以看下是哪里取life_num的下标出了问题,提示一下:注意在错误提示上面找一下问题代码所在的行数
作者回复: 是的,range(1,101),后面我们还会学一个xrange()函数,他们的返回结果不同,根据需求要选择不同的方式生成1-100的整数