python_分支与循环

1.1.条件语句

python条件语句跟其他语言基本一致,都是通过一条或多条语句的执行结果(True或者False),来决定执行的代码块。
python程序语言指定任何非0和非空(None)值为True,0或者None为False。

1.1.1.if语句的基本形式

python中,if语句的基本形式如下:

if判断条件:
      执行语句......
else:
      执行语句......

前面提到过,python语言有着严格地缩进要求,因此这里也要注意缩进,也不要少写了冒号:。
if语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
例如:

res = 59
if res >=60:
    print('及格')
else:
    print('不及格')

输出的结果为:

不及格

上面也说到,非零数值、非空字符串、非空list等,判断为True,否则为False。因此也可以这样写:

num = 6
if num:
    print('Hello Python')

1.1.2if语句多个判断条件的形式

有些时候,我们的判断语句需要多个

if 判断语句:
      执行语句1......
elif判断条件2:
      执行语句2......
elif判断条件3:
      执行语句3......
else:
      执行语句4......

实例:

res = 89
if res > 90:
    print('优秀')
elif res > 80:
    print('良好')
elif res > 60:
    print('及格')
else:
    print('不及格')

输出:

良好

1.1.3.if语句多个条件同时判断

python不像java有swith语句,所以多个条件判断,只能用elif来实现,但是有需要多个条件同时判断时,可以使用or(或),表示两个条件有一个成立时判断成功;使用and(与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

java = 86
python = 68
if java > 80 and python > 80:
    print('优秀')
else:
    print('不优秀')

输出:

不优秀

注意:if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外and和or的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

java = 86
python = 68
if (80 <= java < 90) or (80 <= python < 90):
    print('良好')

输出:

良好

1.2.循环语句

一般循环语言都有循环语言,循环语句允许我们执行一个语句或语句组多次。
循环语句的一般形式如下:



python提供了for循环和while循环,当然还有一些控制循环的语句:
break 在语句块执行过程中终止循环,并且跳出整个循环
continue 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环
pass pass是空语句,是为了保持程序结构的完整性

1.2.1.While循环语句

count = 1
sum = 0
while count <= 100:
    sum = sum + count
    count = count +1
print(sum) 

输出:

5050

当然while语句还有另外两个重要的命令continue,break来跳过循环,continue用于跳过该次循环,break则是用语跳出本层循环
比如,上面的例子是计算1到100所有整数的和,当我们需要判断sum大于1000的整数,不在相加时,可以用到break,退出整个循环

count = 1
sum = 0
while count <= 100:
    sum = sum + count
    if sum > 1000:
        break
    count = count + 1
print(sum)

输出:

1035

我们只想统计1到100之间的奇数和,那么也就是说当count时偶数,跳出当次的循环,不相加,这时候可以用continue

count = 1
sum = 0
while count <= 100:
    if count % 2 == 0:
        count = count + 1
        continue
    sum = sum + count
    count = count + 1
print(sum)

输出:

2500

在python的while循环中,还可以使用else语句,while...else...在循环条件为fale时执行else语句块

count = 0
while count < 5:
    print(count)
    count = count + 1
else:
    print(count)

输出:

0
1
2
3
4
5

1.2.2.for循环语句

for循环可以遍历任何序列的项目,如一个字符串
它的流程图基本如下:

!

基本的语法格式:
for iterating_var in sequence:
    statements(s)

实例:

for letter in 'www.neuedu.com':
    print(letter)

输出:

w
w
w
.
n
e
u
e
d
u
.
c
o
m

range()函数
python函数range()让你能够轻松地生成一系列的数字:

for value in range(1,5):
    print(value)

上述代码好像应该打印数字1~5,但实际上它不会打印数字5:

1
2
3
4

函数range()让python从你指定的第一个值开始数,并在到达你指定的第二个值后停止,因此输出不包含第二个值。

1.2.3.嵌套循环

python语言允许在一个循环体里面嵌入另一个循环。
具体的语法如下:
for循环嵌套语法

for iterating_var in sequence:
   for iterating_var in sequence:
      statements(s)
   statements(s)

while循环嵌套语法

while expression:
    while expression:
        statement(s)
    statement(s)

实例:

for num in range(10,20):
    for i in range(2,num):
        if num%i == 0:
            j = num/i
            print('%d 是一个合数' % num)
            break
    else:
        print('%d 是一个质数' % num)

输出:

10 是一个合数
11 是一个质数
12 是一个合数
13 是一个质数
14 是一个合数
15 是一个合数
16 是一个合数
17 是一个质数
18 是一个合数
19 是一个质数

案例:打印九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print('{}*{}={}\t'.format(i,j,i*j),end='')
    print()

输出:

1*1=1   
2*1=2   2*2=4   
3*1=3   3*2=6   3*3=9   
4*1=4   4*2=8   4*3=12  4*4=16  
5*1=5   5*2=10  5*3=15  5*4=20  5*5=25  
6*1=6   6*2=12  6*3=18  6*4=24  6*5=30  6*6=36  
7*1=7   7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49  
8*1=8   8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64  
9*1=9   9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81

1.3.随机数的处理

  • python中,要使用随机数,首先需要导入随机数的模块--“工具包”
import random
  • 导入模块后,可以直接在模块名称后面敲一个.,会提示该模块中包含的所有函数
  • random.randint(a,b),返回[a,b=]之间的整数,包含a和b
    例如:
random.randint(12,20)  #  生成的随机数n:12 <= n <= 20
random.randint(20,20)  #  结果永远是20
random.randint(20,10)  #  该语句是错误的,下限必须小于上限

综合练习--猜数字
计算机要求用户输入数值范围的最小值和最大值。计算机随后“思考”出在这个范围之内的一个随机数,并且重复地要求用户猜测这个数,直到用户猜对了。在用户每次进行猜测之后,计算机都会给出一个提示,并且会在这个过程的最后显示出总的猜测次数。这个程序包含了几种类型的我们学过的 Python 语句,例如,输入语句、输出语句、赋值语句、循环和条件语句。
可能的游戏过程如下:

Enter the smaller number:1
Enter the larger number:20
Enter your guess:5
Too small
Enter your guess:9
Too small
Enter your guess:15
Too small
Enter your guess:17
Too large
Enter your guess:16
You've got it in 5 tries!

程序如下:

import random

smaller = int(input("Enter the smaller number: "))
larger = int(input("Enter the larger number: "))
myNumber = random.randint(smaller, larger)
count = 0
while True:
    count += 1
    userNumber = int(input("Enter your guess: "))
    if userNumber < myNumber:
        print("Too small")
    elif userNumber > myNumber:
        print("Too large")
    else:
        print("You've got it in", count, "tries!")
        break

输出:

Enter the smaller number: 1
Enter the larger number: 20
Enter your guess: 5
Too small
Enter your guess: 10
Too small
Enter your guess: 15
Too large
Enter your guess: 13
Too large
Enter your guess: 11
Too small
Enter your guess: 12
You've got it in 6 tries!

你可能感兴趣的:(python_分支与循环)