python tip 1
1. Python3 中,一行可以书写多个语句吗?
可以,语句之间用分号隔开即可,不妨试试:
>>> print('I love fishc');print('very much!')
2. Python3 中,一个语句可以分成多行书写吗?
可以,一行过长的语句可以使用反斜杠或者括号分解成几行,不妨试试:
- >>> 3 > 4 and \
- 1 < 2
或者
- >>> ( 3 > 4 and
- 1 < 2 )
3.python“短路逻辑(short-circuit logic)”
逻辑操作符有个有趣的特性:在不需要求值的时候不进行操作。这么说可能比较“高深”,举个例子,表达式 x and y,需要 x 和 y 两个变量同时为真(True)的时候,结果才为真。因此,如果当 x 变量得知是假(False)的时候,表达式就会立刻返回 False,而不用去管 y 变量的值。
这种行为被称为短路逻辑(short-circuit logic)或者惰性求值(lazy evaluation),这种行为同样也应用与 or 操作符,这个后边的课程小甲鱼会讲到,不急。
实际上,Python 的做法是如果 x 为假,表达式会返回 x 的值(0),否则它就会返回 y 的值。
这种行为被称为短路逻辑(short-circuit logic)或者惰性求值(lazy evaluation),这种行为同样也应用与 or 操作符,这个后边的课程小甲鱼会讲到,不急。
实际上,Python 的做法是如果 x 为假,表达式会返回 x 的值(0),否则它就会返回 y 的值。
4. 我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?
int() 固然没那么“聪明”,但机器是死的,鱼油是活的!
5.4 “四舍五入”结果为:5,int(5.4+0.5) == 5
5.6 “四舍五入”结果为:6,int(5.6+0.5) == 6
大家看明白了吗?
int() 固然没那么“聪明”,但机器是死的,鱼油是活的!
5.4 “四舍五入”结果为:5,int(5.4+0.5) == 5
5.6 “四舍五入”结果为:6,int(5.6+0.5) == 6
大家看明白了吗?
5.写一个程序,判断给定年份是否为闰年。
- temp = input('请输入一个年份:')
- while not temp.isdigit():
- temp = input("抱歉,您的输入有误,请输入一个整数:")
- year = int(temp)
- if year/400 == int(year/400):
- print(temp + ' 是闰年!')
- else:
- if (year/4 == int(year/4)) and (year/100 != int(year/100)):
- print(temp + ' 是闰年!')
- else:
- print(temp + ' 不是闰年!')
6. 请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
如果你的回答是 0,那么小甲鱼很开心你中招了!
答案是:4
not or and 的优先级是不同的:not > and > or
我们按照优先级给它们加上括号:(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
== 0 or 0 or 4 or 6 or 9
== 4
7.请问以下例子中,循环中的 break 语句会跳过 else 语句吗?:)uYMS}8s
- def showMaxFactor(num):
- count = num // 2
- while count > 1:
- if num % count == 0:
- print('%d最大的约数是%d' % (num, count))
- break
- count -= 1
- else:
- print('%d是素数!' % num)
- num = int(input('请输入一个数:'))
- showMaxFactor(num)
答:会,因为如果将 else 语句与循环语句(while 和 for 语句)进行搭配,那么只有在循环正常执行完成后才会执行 else 语句块的内容。8
8.你可以换一种形式写出下边的伪代码吗?
- with A() as a:
- with B() as b:
- suite
with语句处理多个项目的时候,可以用逗号隔开写成一条语句
- with A() as a, B() as b:
- suite