Author:AXYZdong 自动化专业 工科男 有一点思考,有一点想法,有一点理性!
定个小小目标,努力成为习惯!在最美的年华遇见更好的自己!CSDN@AXYZdong,CSDN首发,AXYZdong原创 唯一博客更新的地址为:AXYZdong的博客 B站主页为:AXYZdong的个人主页
指令和程序
计算机的硬件系统通常由五大部分构成:运算器、控制器、存储器、输入设备和输出设备。
运算器和控制器的结合:中央处理器。执行各种运算和控制指令以及处理计算机软件中的数据。
指令的结合:程序。
常用数据类型
变量命名
变量的使用
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求和的结果
'''
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)
例:输入两个正整数,计算它们的最大公约数和最小公倍数。
最大公因数:两个数公共因子中最大的那个数 最小公倍数:两个自然数的积除以它们的最大公因数
'''
输入两个正整数,求它们的最大公约数和最小公倍数
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