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!