Python语法基础03(if语句,while循环与for循环)
if语句:
语法:
单分支
if 判断条件:
语句块
执行过程:首先执行判断条件,当条件成立则执行判断条件下面的语句块,
若条件不成立,则不执行
双分支
if 判断条件:
语句块1
else:
语句块2
执行过程: 首先执行判断条件,若条件成立则执行语句块1,若条件不成立,则执行
语句2.
多分支
if 判断条件1:
语句块1
elif 判断条件2:
语句块2
elif 判断条件n:
语句块n
else:
语句块
执行过程:
首先执行判断条件1,若成立则执行语句块1,若不成立,则执行判断语句2,若条件成立,
则执行语句块2,若不成立,依次类推,若所有的判断条件都不成立,则执行else下面的语句块。
if语句的嵌套
语法:
if 判断条件1:
if 判断条件2:
语句块2-1
else:
语句块2-2
else:
语句块1-2
注意:使用嵌套的时候我们通过它的缩进来进行匹配我们的语句的。
输入年龄:
输入的年龄[0,160],若年龄不在这个范围内,则打印年龄非法
小于16岁 少年
16~24岁 青少年
25~34岁 青年
35~44岁 中年
45~59岁 中老年
60年 老年
输入年龄,小于18未成年人禁止进入,否则打印欢迎光临。。。
age = int(input("请输入您的年龄:"))
if age < 18:
print("未成年人禁止进入。。。")
else:
print("欢迎光临。。。")
if age>=0 and age<=160:
if age < 16:
print("少年")
elif age < 25:
print("青少年")
elif age < 35:
print("青年")
elif age < 45:
print("中年")
elif age < 60:
print("中老年")
else:
print("老年")
else:
print("年龄非法")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
我们可以将我们的if语句强制性写在一行,成了伪三目运算。
result1 if 判断条件 else result2
执行过程:
先执行判断条件,当判断条件成立则返回result1,若条件不成立,则返回result2.
三目运算:完成一个二选一的结果。
num1 = int(input(“请输入第一个数据:”))
num2 = int(input(“请输入第二个数据:”))
print(num1 if num1>num2 else num2)
循环之while:
while循环的基本语法:
while 判断条件:
循环体
执行过程:先执行判断条件,条件成立,则进入循环体,执行一遍循环体中的代码,
循环体执行结束,继续进行判断,若条件成立,继续执行循环体,循环往复,直到
条件不成立的时候,退出循环
循环嵌套:
while 判断条件1:
while 判断条件2:
循环体2
循环体1
执行过程:先执行判断条件1,若条件1成立,则进入循环体,执行判断条件2,若条件2成立,
则执行循环体2,继续执行判断条件2,直到条件2不成立为止,退出内循环,执行循环体1中
的内容,执行判断条件1,条件成立,执行判断条件2…直到条件1不成立则退出循环。
外循环执行一次,内循环执行结束之后,再执行第二次外循环…
计算 1+2+3+…+100 的和
res = 0 #统计大小
n = 1 #初始值
while n<=100:
res += n # 将n的值加到res身上
n += 1 #对n进行加1处理
print("res=",res)
1x2x3x...x100的积
ji = 1
n = 1
while n<=100:
ji *= n
n += 1
print("ji=",ji)
求n!
n = 1x2x3..xn
要求n从控制台输入
n = int(input("请输入一个正整数:"))
ji = 1
i = 1
while i<= n:
ji *= i
i += 1
print("%d的阶乘为%d"%(n,ji))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
求阶乘之和
res = 1! + 2! + 3! +...+n!
n = int(input("请输入一个正整数:"))
res = 0
j = 1
while j <= n:
#求阶乘
ji = 1
i = 1
while i <= j:
ji *= i
i += 1
res += ji
j += 1
print("res=",res)
n = int(input("请输入一个正整数:"))
ji = 1
i = 1
res = 0
while i<= n: # i=1 i=2
ji *= i #ji = 1x1 ji=1!x2=2!
i += 1
res += ji #res = 1! res = 1!+2!
print("res=",res)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
打印星星号
控制台输入1
1 1
控制台输入2
1 1
** 2 2
输入3
1 1
1
** 2 2
*** 3 3
输入4
*
**
输入5
*
**
n = int(input("请输入一个正整数:"))
i = 1
while i<=n: #打印的行数
j = 1
while j <= i: #打印星星号的个数
print("*",end="")
j += 1
print()
i += 1
while i<=n:
print("*"*i)
i += 1
1
2
3
4
5
6
7
8
9
10
11
12
13
while循环之死循环:
输入用户名以及密码,判断用户名与密码是否正确,
若不正确则一直输入,直到输入正确为止
用户名:admin
密码:123456
while True:
name = input(“请输入您的用户名:”)
psd = input(“请输入您的密码:”)
if name == “admin” and psd == “123456”:
print(“正确”)
break
else:
print(“请重新输入。。。”)
continue
break contine和pass的使用:
break: 跳出循环体【跳出它所在循环的循环体】
continue:结束当前此次循环[continue下面的语句不会再执行],继续下一次 【不跳出循环体】
pass:保证语义的完整,本身没有任何意义
注意:break与continue只能用于循环中。
需求变更:
每次游戏开奖之后,提示要不要继续,若显示yes继续,若输入no则退出游戏。
import random
while 1:
jiang = random.randrange(1,7)
print(jiang)
ya = input("押大还是押小?大/小")
if ya == "大" and jiang>3 or ya == "小" and jiang<4:
print("庄家喝酒。。。")
else:
print("先干为敬。。。")
ji = input("是否继续游戏?yes/no")
if ji == "yes":
continue #结束当前这次循环,继续下一次
else:
break #跳出循环
1
2
3
4
5
6
7
8
9
10
11
12
13
14
while循环之else:
while 判断条件:
循环体
else:
语句块
当我们的循环正常执行结束的时候,它才会执行我们的else语句下面的语句块,
若循环体中的代码是非正常执行结束,这时候它不会执行else下面的语句块。
【当使用break跳出循环的时候,就是非正常执行结束的状态】
若while循环只有一条语句的时候,我们可以将while循环与下面的语句强制性写在一行
while True: pass
1+2+..+100
n = 1
res = 0
while n<=100:
res += n
n += 1
print(n)
if n>50:
continue
else:
print("循环结束")
print(res)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for循环:
for循环的语法:
for 变量 in 序列:
循环体
依次将序列中元素取出并且赋值给变量,直到序列元素中的元素全部取出为止,循环结束。
range([start,]stop[,step])
start:指定开始,默认0
stop:取值的结束 必须写
step:步长 默认1
功能:可以产生一个[start,stop)的序列
list1 = ["hello","hahha","hehe","heihei"]
for x in list1: #用for循环遍历列表
print(x)
1+2+3...+10 #计算1+....+10的和
list2 = [1,2,3,4,5,6,7,8,9,10]
res = 0
for i in list2:
res += i
print(res)
print(list(range(1,101))) #1到100的列表
res2 = 0
for j in range(100,0,-1): #1+....+100的和
print("j=",j)
res2 += j
print(res2)
使用for循环求n的阶乘
n = int(input("请输入一个正整数:"))
ji = 1
for x in range(1,n+1):
ji *= x
print("%d的阶乘为%d"%(n,ji))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
循环的嵌套:
for i in 序列1:
循环体1
for j in 序列2:
循环体2
执行过程:
首先进入外循环,外循环执行一次,进入内循环,
内循环【执行一轮】执行结束,退出内循环,执行第二次外循环,
又重新进入内循环,循环往复,直到外循环退出,整个循环才结束
求阶乘之和
方法一:
res = 1!+2!+3!+...+n!
n = int(input("请输入一个正整数:"))
res = 0
for i in range(1,n+1):
ji = 1
for x in range(1, i + 1):
ji *= x
res += ji
print("res =",res)
方法二:
n = int(input("请输入一个正整数:"))
res = 0
ji = 1
for x in range(1,n+1):
ji *= x #x = 1 ji = 1! x=2 ji=1x2=2!
res += ji #1!+2!+...
print("res =",res)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
for循环之else:
for 变量 in 序列:
循环体
else:
语句块
执行过程:执行循环,若循环正常执行结束,则执行else下面的语句块,若是非正常执行结束
else下面的语句块则不再执行。
for x in range(10):
if x>50:
break
else:
print("循环结束")
1
2
3
4
5
使用for循环打印九九乘法表
两个循环:
1.外循环控制行
2.内循环控制列
for i in range(1,10):
for j in range(1,i+1):
print("%dx%d=%d"%(j,i,j*i),end="\t")
print(http://www.my516.com)
1
2
3
4
基本数据类型能作用于for循环的有
字符串,列表,元组,字典,集合,range()
---------------------
Python语法基础03(if语句,while循环与for循环)的更多相关文章
- day_02~day_09的Python语法基础
Python基础学习 day_02 使用方法修改字符串的大小写 将字符串首字母变成大写 >>> name = "ada lovelace" >>> ...
- SQL语法基础之ALTER语句
SQL语法基础之ALTER语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看ALTER的帮助信息 mysql> ? ALTER Many help items fo ...
- python语法基础笔记
本篇笔记基于博主自己的的学习,理解,总结所写.很多东西可能存在误解,不能保证百分之百的正确. 1. 数据表达1.1 常量和变量1.2 数据类型1.2.1 基本数据元素1.2.1.1 数字1.2.1.2 ...
- (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md
第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...
- SQL语法基础之DROP语句
SQL语法基础之DROP语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看DROP帮助信息 mysql> ? DROP Many help items for yo ...
- SQL语法基础之INSEART语句
SQL语法基础之INSEART语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看帮助信息 1>.查看INSERT方法的帮助信息 mysql> ? INSERT ...
- SQL语法基础之UPDATE语句
SQL语法基础之UPDATE语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看UPDATE语句的帮助信息 1>.查看UPDATE的帮助信息 mysql> ? ...
- SQL语法基础之DELETE语句
SQL语法基础之DELETE语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看帮助信息 1>.查看DELETE的帮助信息 mysql> ? DELETE Na ...
- SQL语法基础之CREATE语句
SQL语法基础之CREATE语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看帮助信息 1>.使用“?”来查看MySQL命令的帮助信息 mysql> ? CR ...
随机推荐
- Spring MVC rest接收json中文格式数据显示乱码
1.解决方法其中之一 在web.xml下添加配置: <!-- 编码配置 --> <filter> <filter-name>CharacterEncodingFil ...
- C/s模式&&B/S模式
C/s模式:是客户端/服务器(Client/Server)模式,主要指的是传统的桌面级的应用程序.比如我们经常用的信息管理系统. C/S 客户端/服务器 例如QQ,网络游戏,需要下载客户端才能访问服务 ...
- jQuery.inArray()方法
$.inArray() 函数用于在数组中查找指定值,并返回它的索引值(如果没有找到,则返回-1) 提示:源数组不会受到影响,过滤结果只反映在返回的结果数组中. 语法 $.inArray( value, ...
- PAT甲级——A1143 LowestCommonAncestor【30】
The lowest common ancestor (LCA) of two nodes U and V in a tree is the deepest node that has both U ...
- 【目录】ASP.NET Core 2.1 入门教程
ASP.NET Core 2.1 快速学习.入门系列教程,这个入门系列教程为了帮助大家快速上手ASP.NET Core. 本教程包含且不限于: 使用VS Code开发ASP.NET Core应用 AS ...
- 【原生】js实现表格的增删改查
说在前面的,写给小白白的,大神请绕道~ 今天用原生js写一下动态表格的增删改查,主要是熟悉一下js的DOM操作. 首先,做一个表格,用来显示提交的数据,如图下: 此处,我添加了编号.姓名.密码.生日. ...
- 与JS报错的那段时光
1.Uncaught SyntaxError: Unexpected end of input js报错: 翻译:语法错误:输入意外终止 原因:页面代码写的不规范 ╮(╯▽╰)╭ 其中的某条语句,没 ...
- 整合mybatis时报错:Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/tx]
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Una ...
- CentOS 7 安装详细步骤
VMware安装centos 7 前期准备: 1. VMware虚拟机软件(使用的是15x) 2. CentOS-7-x86_64-DVD-1810.iso 一.安装VMware虚拟机软件 略 二.新 ...
- stdin stdout stderr - 标准 I/O 流
Fd #include <stdio.h> Fd extern FILE *stdin; Fd extern FILE *stdout; Fd extern FILE *stderr; D ...