python初学-条件和递归

2021/12/5 20:48:24

本文主要是介绍python初学-条件和递归,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

今天来看一下递归,基本内容适合初学者哦!

1.地板除法和求余

 1. 地板除运算符 (floor division operator) 为 // 即先做除法,然后将结果向下保留到整数。
 2. 另一个方法就是使用求余运算符 (modulus operator),% ,它会将两个数相除,返回余数。

2.布尔表达式 (boolean expression)

使用 ***== 运算符***。它比较两个运算数,
如果它们相等,则结果为 True ,否则结果为 False 。
>>>5==5
>True
>>> 5==6
>Flase
>#True 和 False 是属于 bool 类型的特殊值;它们不是字符串。
>>> type ( True )
<class 'bool '>
>>> type ( False )
<class 'bool '>

其他关系运算符有

x != y # x is not equal to y
x > y # x is greater than y
x < y # x is less than y
x >= y # x is greater than or equal to y
x <= y # x is less than or equal to y 

3.逻辑运算符

三个逻辑运算符(local operators):and or not
>>> #逻辑运算符的运算数应该是布尔表达式
>>> 42 is 45
False
>>> 42 or 45 is 42
42
>>> 42 >= 45
False
>>> 4s is 45
SyntaxError: invalid syntax
>>> 42 is 45
False
>>> 42 and Flase
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    42 and Flase
NameError: name 'Flase' is not defined
>>> 42 and True
True
>>> not(42>45)
True
>>> 

4.有条件执行

条件语句(conditional statements)
一个语句头跟着一个缩进的语句体。类似的语句被
称作复合语句 (compound statements) 。

>>> if x<0:
	pass

‘‘二选一执行” (alternative execution)
两个选择中只有一个会
被执行。这些选择被称作***分支 (branches)***

>>> if x%2==0:
	print("even")
else:
	print("odd")

链式条件(chained conditional)

else if==elif

>>> if x<y:
	print("small")
***elif*** x>y:
	print('d')
else:
	print("a")

5.嵌套条件(nested conditionals)

一个条件可以嵌到另一个页面里面
在这里插入图片描述

只有通过了两个条件检测的时候,print 语句才被执行,因此我们可以用 ***and 运算符***得到
相同的效果

在这里插入图片描述

6.递归(recursive)

顾名思义:函数自己调用自己
打印是s,n次

每当一个函数被调用时,Python 生成一个***新的栈帧,用于保存函数的局部变量和形参。***
对于一个递归函数,在***堆栈上可能同时有多个栈帧***。

7.无限递归 (infinite recursion)

一个简单的例子
无限递归汇报以下错

Traceback (most recent call last):
  File "1.py", line 15, in <module>
    a()
  File "1.py", line 13, in a
    a()
  File "1.py", line 13, in a
    a()
  File "1.py", line 13, in a
    a()
  [Previous line repeated 1022 more times]
RecursionError: maximum recursion depth exceeded

8.键盘输入

Python 提供了一个***内建函数 input*** ,可以暂停程序运行,并等待用户输入。当用户按下***回车键 (Return or Enter)***,程序恢复执行,input 以***字符串***形式返回用户键入的内容。在
Python 2 中,这个函数的名字叫 raw_input 。

>>> a=input()
assd
>>> a
'assd'
>>> 

input 接受***提示语作为实参***

>>> b=input("b=")
b=45
>>> b
'45'
>>> 
>>> c=input("c?\n")
c?
43
>>> 

这里是引用的 \n 表示一个新行 (newline)

如果你期望的是一个数字,可以试着将返回值转换为int

>>> int(c)
43
>>> type(c)
<class 'str'>
>>> 

9.调试

当出现语法错误和运行时错误的时候,错误信息中会包含了很多的信息,但是信息量有 可能太大。通常,最有用的部分是: • 是哪类错误,以及 •在哪儿出现

语法错误通常很容易被找到,但也有一些需要注意的地方。空白分隔符错误很棘手,因为空格和制表符是不可见的,而且我们习惯于忽略它们。



这篇关于python初学-条件和递归的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程