「Python」语言元素分支结构和循环结构
Posted AXYZdong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「Python」语言元素分支结构和循环结构相关的知识,希望对你有一定的参考价值。
Author:AXYZdong 自动化专业 工科男
有一点思考,有一点想法,有一点理性!
定个小小目标,努力成为习惯!在最美的年华遇见更好的自己!
CSDN@AXYZdong,CSDN首发,AXYZdong原创
唯一博客更新的地址为: 👉 AXYZdong的博客 👈
B站主页为:AXYZdong的个人主页
语言元素
指令和程序
计算机的硬件系统通常由五大部分构成:运算器、控制器、存储器、输入设备和输出设备。
运算器和控制器的结合:中央处理器。执行各种运算和控制指令以及处理计算机软件中的数据。
指令的结合:程序。
常用数据类型
- 整形:python中可以处理任意大小的整数(python 3中只有 int 这一种)
- 浮点型:浮点数也就是小数
- 字符串型:以单引号或双引号括起来的任意文本。‘hello’ 和 “hello”
- 布尔型:只有 True 和 False 两种
变量命名
- 变量名由字母、数字和下划线构成,数字不能开头
- 大小写敏感(大小写表示不同的变量)
- 不要和关键词和系统保留字冲突
变量的使用
python中可以使用 type
函数对变量的类别进行检查。
a=100
print(type(a)) # <class 'int'>
可以使用python中内置的函数对变量类型进行转换。
int()
:将一个【数值或字符串】转换成【整数】float()
:将一个【字符串】 转换成【浮点数】str()
:将【指定的对象】转换成【字符串】chr()
:将【整数】转换成【该编码对应的字符串(一个字符)】ord()
:将【字符串(一个字符)】转换成【对应的编码(整数)】
chr()
和ord()
互为逆操作。
a=1
b=2
print('%d + %d = %d' % (a,b,a+b)) #1 + 2 = 3
%d
为整数占位符,%f
为小数占位符,字符串之后的 %
后面跟着的变量值会替换掉占位符然后输出到终端。
运算符
- 算数运算符:
**
%
//
/
*
-
+
- 赋值运算符:
=
+=
-=
*=
/=
//=
- 比较运算符:
>
<
>=
<=
==
!=
- 逻辑运算符:
and
or
not
- 位运算符:
&
|
~
^
>>
<<
运算符优先级 :单目运算符(~
+
-
)> 算术运算符 > 位运算符 > 比较运算符。有小括号的,小括号优先。
运算符 | 描述 |
---|---|
[] [:] | 下标、切片 |
** | 指数 |
~ + - | 按位取反、正好、负号 |
* / % // | 乘、除法(结果为浮点类型)、取余数、整除/商数取整 |
+ - | 加、减 |
>> << | 右移、左移 |
& | 按位与 |
^ | | 按位异或、按位或 |
<= < > >= | 小于等于、小于、大于、大于等于 |
== != | 等于、不等于 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
分支结构
一条语句一条语句顺序执行:顺序结构
分支结构 (选择结构)
python中构造分支结构的关键字:if
、else
、elif
'''
判断输入的边长能否构成三角形,如果能则计算三角形的周长和面积
Author:AXYZdong
'''
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a+b > c and a +c > b and b+c >a :
print('周长 = %f' % (a+b+c))
p = (a+b+c)/2
area = (p*(p-a)*(p-b)*(p-c))**0.5
print('面积 = %f' % (area))
else:
print('不能构成三角形')
循环结构
for-in 循环
明确知道 循环执行的次数 或者 要对一个容器进行迭代,推荐使用 for-in
循环。
例:计算1~100求和的结果
∑
n
=
1
100
n
\\sum \\limits_n=1^100n
n=1∑100n
'''
1~100求和
Author:AXYZdong
'''
sum = 0
for x in range(101): # for x in range(1,101):
sum = sum + x
print(sum)
range(101)
:产生0~100范围内的整数,取不到101。range(1,101)
:产生1~100范围内的整数,相当于 [1,101)range(1,101,2)
:产生1~100范围内的奇数,其中2是步长,每次递增range(100,0,-2)
:产生100~1范围内的偶数,其中-2是步长,每次递减
1~100范围内偶数求和?
'''
用for循环实现1~100范围内偶数求和
Author:AXYZdong
'''
sum = 0
for x in range(2,101,2): # for x in range(100,0,-2):
sum = sum + x
print(sum)
range(2,101,2)
:从2开始以每次2的步长递增,产生2~100的范围(均为偶数)
while 循环
不知道具体循环次数的循环结构,推荐使用 while
循环。while 循环通过一个能够产生或转换出 bool
值的表达式来控制循环,表达式的值为 True
则继续循环;表达式为 False
则结束循环。
'''
猜数字游戏
Author:AXYZdong
'''
import random
ans = random.randint (1,10)
counter = 0
while True:
counter += 1
num = int(input('请输入:'))
if num > ans:
print('大一点')
elif num < ans:
print('小一点')
else:
print('恭喜你猜对了')
break
print('你一共猜了%d次'% (counter))
if counter > 5:
print('你运气太差了')
random.randint(参数1,参数2)
- 参数1、参数2必须是整数
- 函数返回值为参数1和参数2之间的任意数,闭区间 [参数1,参数2](python 3环境中已验证)
例:输入两个正整数,计算它们的最大公约数和最小公倍数。
最大公因数:两个数公共因子中最大的那个数
最小公倍数:两个自然数的积除以它们的最大公因数
'''
输入两个正整数,求它们的最大公约数和最小公倍数
Author:AXYZdong
'''
x = int(input('x = '))
y = int(input('y = '))
if x > y:
x,y = y,x
for common in range(x,0,-1):
if x%common == 0 and y%common == 0:
print('%d和%d最大公约数是%d' % (x,y,common))
print('%d和%d最小公倍数是%d' % (x,y,(x*y//common)) ) #两个自然数的积等于这两个数最大公因数乘以它们的最小公倍数
break
参考文献
[1]:https://github.com/jackfrued/Python-100-Days
[2]:Python编程快速上手:让繁琐工作自动化/ (美)斯维加特(A1 Sweigart) 著;王海鹏译.北京:人民邮电出版社,2016.7
本次的分享就到这里
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “收藏” “关注”
一键三连哦!
更多精彩内容请前往 AXYZdong的博客
如果以上内容有任何错误或者不准确的地方,欢迎在下面 👇 留个言。或者你有更好的想法,欢迎一起交流学习~~~
以上是关于「Python」语言元素分支结构和循环结构的主要内容,如果未能解决你的问题,请参考以下文章
Python控制流:顺序结构分支结构循环结构+forif ... elsewhileif... elif...elif..elseif