一、判断语句
1.1 if语句
if语句是最常用的流程控制语句,通常由条件加子句(代码块)组成,条件求值为True时执行子句,如果条件为False时跳过。
if语句包含以下部分:
点击查看代码
if 关键字
条件(表达式)
冒号:
缩进的代码块
1.2 else 语句
if语句后面可以跟着一个else语句,在条件求值为False时执行。
点击查看代码
else语句包含以下部分:
else 关键字
冒号:
缩进的代码块
1.3 elif语句
elif语句是“否则如果”,假如你希望程序执行尽可能多的判断中的一个,可以使用elif,它总是在if或elif后面,仅在前面的条件为False时执行。
点击查看代码
elif语句包含以下部分:
elif关键字
条件(表达式)
冒号:
缩进的代码块
1.4 案例
利用if语句判断所输入的年份是否为闰年。
先回顾一下闰年怎么判断,当一个年份可以整除4但不可以被100整除或者可以被400整除,那么这个年份就是闰年,所以可以写出代码
点击查看代码
year = int(input("请输入你要判断的年份:\n"))
if ((year%4 == 0 and year%100 != 0) or year%400 == 0):
#利用and 和 or 来对我们的条件进行判断,同时要注意括号包裹,防止遗漏。所以对于有时候搞不懂运算顺序的时候,就打上括号就可以了。print("闰年")
else:print("不是闰年")
二、while循环
while语句可以让程序循环的执行,只要while语句的条件为True,while子句就会一遍一遍的执行。
点击查看代码
while语句包含以下部分:
关键字
条件(表达式)
冒号:
缩进的代码块
2.1 break字句
break语句可以跳出循环,当while循环语句执行到break时,程序会马上退出循环。
2.2 continue语句
continue语句可以让程序回到循环的开始,即重新开始下一次循环,判断条件表达式的值。
他们之间的区别是,如果我们想要做到达成某个条件就让这个程序不在循环,则使用break。但是我只是想跳过达成条件的这次循环,其他循环我想继续下去的时候就使用continue。
三、for循环语句
for循环语句可以让程序循环的执行固定的次数,通过range()来实现程序循环的次数。
点击查看代码
for语句包含以下部分:
for关键字
一个变量名
in 关键字
range()函数(最多可以传入三个参数:初始值,最大值,步长)
冒号:
缩进的代码块
四 、import 语句导入模块
Python中可以直接调用的基本函数例如print函数等,被称为内置函数,除此之外Python也包括一系列模块,称作“标准库”,每一个模块都包括了一些相关函数。例如math模块有数学运算相关的函数。random模块有随机数相关的函数。
使用方法可为:
点击查看代码
import requests
from bs4 import BeautifulSoup
五、案例
5.1 猜数字游戏
- 目标数字:
系统随机生成一个预设范围内的整数(如1-10)。 - 控制台输入输入:
输入自己猜测的数字。 - 提示:
- 如果猜测的数字 小于 目标,提示“猜小了”。
- 如果猜测的数字 大于 目标,提示“猜大了”。
- 如果猜测的数字 等于 目标,提示“猜对了”,游戏结束。
思路:对于该题目,我们发现,首先需要随机一个数字出来,可以导入库random来随机,同时我们需要一直猜数字,知道我们猜对了,所以这个时候就需要while循环来判断条件。最后根据不同的数字提示不同的范围。这个时候就需要if。所以我们可以写出代码。
点击查看代码
import randomnumber = int(random.randint(1,10))
gass_number = int(input("请输入你所猜测的数字:\n"))
while gass_number != number:if gass_number > number:print("猜大了")gass_number = int(input("请重新输入你所猜测的数字:\n"))else:print("猜小了")gass_number = int(input("请重新输入你所猜测的数字:\n"))
print("恭喜你猜对了")
5.2 计算每一位数字和
首先对于一个数字我们怎么取出它的每一位呢?其实可以使用%以及//,通过对10进行取余和取整的方法来获得每一位数字。所以这题我们就可以写代码
点击查看代码
n = 1243
sum_n = 0
while n > 0:sum_n += n % 10 #取余得到个位数print(n)n //= 10 #取整得到其余位数print(n)
print(sum_n)
5.3 打印九九乘法表
这个就不用过多阐述,只是一个循环的嵌套。
点击查看代码
for i in range(1,10):for j in range(1,i+1):print(str(i)+"x"+str(j)+"="+str(i*j),end = " ")print()
5.4 编写程序,输入一个正整数,计算并输出它的阶乘。
思路:我们可以通过定义一个初始值 1,在 1 的基础上进行乘我们的正整数来获得最终值。
点击查看代码
number = int(input("请输入一个整数:"))
result = 1
while number!=0 :result *= numbernumber -= 1
print(result)
5.5 设计"明七暗七游戏” 程序
在 1- 99 之间的数字中,如果数字 包含 7 或者是 7 的倍数,则输出"过...", 否则输出 具体的数字。
思路:只需使用or来判断是否达成十位数或个位数上是否存在7即可
点击查看代码
for i in range(1,100):if i%10 == 7 or i // 10 == 7:continueelse:print(i)
5.6 猴子吃桃
猴子第一天摘下若干个桃子,当即吃了一半,结果不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,结果不过瘾又多吃了一个。以后每天早上都吃了前一天剩下的一半再加一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
思路:进行逆推,第十天只剩下一个,那么第九天就是(1+1)* 2即四个,然后第八天(2+1) * 2即六个……以此类推算出第一天有多少个,所以写出程序
点击查看代码
tao_zi = 1
for i in range(1,10):tao_zi = (tao_zi + 1) * 2
print("第一天桃子的数量为:",tao_zi)