python 基本数据类型及基本运算

509次阅读
没有评论

python

变量和类型

  • | 整型(int)|:Python中可以处理任意大小的整数,而且支持二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)的表示法。
  • 浮点型(float):浮点数也就是小数,之所以称为浮点数,是因为按照记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456)之外还支持计数法(如1.23456e2)。
  • 字符串型(str):字符串是以单引号或双引号括起来的任意文本,比如’hello’和”hello”。
  • 布尔型(bool):布尔值只有True、False两种值,要么是True,要么是False。

使用变量保存数据并进行加减乘除运算

a = 10
b = 20
print(a - b) #减法
print(a * b) # 乘法
print(a + b) # 加法
print(a / b) # 除法
print(a % b) # 取余
print(a // b) #取整
print(a**b) #求幂

使用type()检查变量的类型

a = 12
b = "12"
c = 12.1
d = True
print(type(a)) #<class 'int'>
print(type(b)) #<class 'str'>
print(type(c)) #<class 'float'>
print(type(d)) #<class 'bool'>

不同类型的变量可以相互转换,这一点可以通过Python的内置函数来实现。

int():将一个数值或字符串转换成整数,可以指定进制。
float():将一个字符串转换成浮点数。
str():将指定的对象转换成字符串形式,可以指定编码。
chr():将整数转换成该编码对应的字符串(一个字符)。
ord():将字符串(一个字符)转换成对应的编码(整数)。

练习示例:

num = 100
print(int(num)) # 100 转整数
print(float(num)) #100.0 转浮点数
print(str(num)) #100 #转字符串
print(chr(num)) #d #刚好对应ASCII字符表中的字母a
print(ord('b')) #98  #刚好对应ASCII字符表中的数字98
print(bool(num)) # True 转boolean

算术运算符

a = 10 b = 20 print(a – b) #减法 print(a * b) # 乘法 print(a + b) # 加法 print(a / b) # 除法 print(a % b) # 取余 print(a // b) #取整 print(a**b) #求幂

</pre>
赋值运算符
<pre class="brush:sql;toolbar:false">a =1
b =4
a += b #a = a+b
a *=a+2 #a = a*(a+2)

比较运算符

flag0 = 1 == 1 #True
flag1 = 3 > 2 #True
flag2 = 2 < 1 #False

逻辑运算符

flag3 = flag1 and flag2 #False 类似 &&
flag4 = flag1 or flag2 #True 类似 ||
flag5 = not (1 != 2) #False 类似 !

例子1:华氏温度转换为摄氏温度。

提示:华氏温度到摄氏温度的转换公式为: [公式] C = (F -32 )/1.8 。

f = float(input('请输入华氏温度:'))
c = (f -32 )/1.8
print('%.2f华氏度 = %.2f摄氏度' % (f, c)) #保留两位小数

tips:字符串%.1f是一个占位符,稍后会由一个float类型的变量值替换掉它

例子2:输入圆的半径计算计算周长和面积。

r = float(input("输入圆的半径为:"))
l = 2 * 3.1416 * r
area = 3.1416*r**2
print('周长: %.2f' % l)
print('面积: %.2f' % area)

例子3:输入年份判断是不是闰年。

year = int(input('输入的年份为:'))
isLeap = year%4 == 0 and year%100 !=0 or year%400 ==0
print(isLeap)

分支结构

if语句的使用

例子4:用户身份验证

userName = input('请输入用户名')
password = input('请输入密码')
if(userName=="admin" and password=="admin"):    
   print('登录成功!')
else:    
   print('账号或者密码错误!')

例子5:分段函数求值

x = float(input('请输入x值'))
if(x>1):    
   print(3*x - 5)
elif(x>=-1 and x<=1):    
   print(x+2)
else:    
   print(5*x +3)

for-in循环

例子6:计算1到100的和

x = 0
for i in range(1,101):
   x +=i
   print(x)
'''
range(101):可以用来产生0到100范围的整数,需要注意的是取不到101。
range(1, 101):可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。
range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。
range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。
'''

例子7:用for循环实现1~100之间的偶数求和

x = 0
for i in range(2,101,2):
    x+=i
    print(x)

while循环

例子8:猜数字游戏

import random
count =0
randoms = random.randint(1, 100)
while True:
    count+=1
    number = int(input("请输入数字"))
    if(number<randoms):
        print('大一点')
    elif(number==randoms):
        print('猜对了,游戏结束')
        break
    else:
        print('小一点')
print(f'一共猜了{count}')

嵌套的循环结构

例子9:打印乘法口诀表

for i in range(1,10):    
    for j in range(1,10):        
        print(f'{i}*{j}={i * j}', end='\t')    
    print()

结果:

1*1=1   1*2=2   1*3=3   1*4=4   1*5=5   1*6=6   1*7=7   1*8=8   1*9=9 2*1=2   2*2=4   2*3=6   2*4=8   2*5=10  2*6=12  2*7=14  2*8=16  2*9=18 3*1=3   3*2=6   3*3=9   3*4=12  3*5=15  3*6=18  3*7=21  3*8=24  3*9=27 4*1=4   4*2=8   4*3=12  4*4=16  4*5=20  4*6=24  4*7=28  4*8=32  4*9=36 5*1=5   5*2=10  5*3=15  5*4=20  5*5=25  5*6=30  5*7=35  5*8=40  5*9=45 6*1=6   6*2=12  6*3=18  6*4=24  6*5=30  6*6=36  6*7=42  6*8=48  6*9=54 7*1=7   7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49  7*8=56  7*9=63 8*1=8   8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64  8*9=72 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

例子10:输入一个正整数判断它是不是素数。

提示:素数指的是只能被1和自身整除的大于1的整数。

val = int(input('请输入正整数'))
is_prime = True
end = int(val ** 0.5)
for i in range(2,end+1):
    if val%i==0:
        is_prime = False
        break
if is_prime and val != 1:
    print(f'{val}是素数')
else:
    print(f'{val}不是素数')
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-06-19发表,共计3602字。
新手QQ群:570568346,欢迎进群讨论 Python51学习