python基础
注释
在python里#代表注释,程序不会执行,仅仅为解释说明
在python里所有的输入都应该是英文字符
‘’’
上下三个引号也代表注释
意为注释多行
‘’’
“”"
双引号同上
引号输入一定为英文引号
“”"
print的使用:(注意要按照以下格式)
print('print打印的是引号内的信息')
print("使用双引号也可以打印","遇到逗号会打印空格","print也可以执行计算,如下:")
print(18)
print(10+8)
print("10+8=",18)
print('''三个引号可以换行
直接输入回车后再输入内容
输出的信息会自动换行''')
print('回车可以输入也可以用\n进行表示,此时可以不用3引号。\t表示空出4个字符')
print('heli'+'copter') #将字符串合并
print('helicopter '*8) #将字符串打印8次,注意此处空格为了美观
print('helicopter\n'*8)
数字函数使用方法
#比较两个数的大小
a1=8
a2=9
print((a1>a2)-(a1<a2))
#找到最大/最小的值并表示出来:max(),min()
print(max(a1,a2))
print(max(1,2,3,4,5,6))
print(min(1,2,3,4,5,6))
#求x的y次方,比如2的5次方:pow(2,5)
print(pow(2,5))
#四舍五入,针对浮点数:round(3.456)
print(round(3.456))
print(round(3.568))
#四舍五入,并保留小数点x位
print(round(3.456,1))
print(round(3.456,2))
print(round(3.538,3))
#导入库:import
#库:封装一些功能
#math:数学相关的库
import math
import random
#向上取整:ceil
print(math.ceil(18.1))
print(math.ceil(18.9))
#向下取整:floor
print(math.floor(18.2))
print(math.floor(18.9))
#开方:sqrt
print(math.sqrt(16))
print(math.sqrt(9))
#随机数,从元素内随机挑选一个元素:choice
print(random.choice([1,3,5,7,9,'a','字符串']))
print(random.choice(range(5))) #range(5)==[0,1,2,3,4]
print(random.choice('radom')) #range(random)==['r','a','n','d','o','m']
#产生0~10的随机数
r1=random.choice(range(10))+1 #不加1为0~9,加1以后为1~10
print(r1)
#从指定范围内,按一定基数递增的集合中选取随机数:randrange
print(random.randrange(1,100,2)) #所取数值为从1开始依次递增+2的集合中选取随机数,如1,3,5,7,9...99
#随机产生0~1之间的浮点数
print(random.random())
#将所有元素按随机序列排序
list=[1,2,3,4,5]
random.shuffle(list)
print(list)
#算数运算符+ - * / %(取余) **(求幂) //(取整)
#算数运算表达式 1+1 2*3 a/3
print(3**2)
#input,format,int,{}的使用:
age=int(input('请输入您的年龄:'))
#对input()来说不管输入整数12345,字符串abcde,输入值都会被强制转换为'字符串'
#所以如果没有前面的int,age的赋值其实是个字符串。
number=6
#赋值(也就是定义变量)可以连续进行,比如number1=number2=number3=1,但不建议
# 也可以交互式赋值,比如number1,number2,number3=1,2,3 这里分别对应1,2,3
total=age*number
#如果不将age转换为整数,运算就会出错,因为age是'字符串'number是整数,它们是不可以使用乘法运算的
#此处用到数据类型转换int(),str(),float(),abs(),int整数,str字符串,float浮点数,abs求绝对值
#type()可以查看数据/变量类型。如print(type(1))整数,print(type('1'))字符串,print(type(1.3))浮点数
#id()可以查看数据/变量的地址。
#固定格式format的使用,三个{}分别对应后面的age,number,total
print('您的年龄是{},人数为{},结果一共{}岁'.format(age,number,total))
###if语句使用###
a=int(input('请输入您的成绩:')) #将input的输入值转换成整数类型
if a>=1 and a<=100: #如果a大于1小于100时,执行以下逻辑关系:
if a>=1 and a<70: #如果a大于1小于70
print('您的成绩不及格') #就输出:您的成绩不及格
elif a>=70 and a<90: #如果a大于70小于90
print('您的成绩为良好') #就输入:您的成绩良好
else: #否则
print('您的成绩被锁定') #就输出您的成绩被锁定
else: #如果输入值并不在1~100之间
print('您的输入有误') #就输出您的输入有误
##if四则运算##
n1=int(input("请输入数字一:"))
n2=int(input("请输入数字二:"))
op=input("请输入运算法则+,-,*,/:")
if op=='+':
print('您输入的是加法,运算结果为{}'.format(n1+n2))
elif op=="-":
print('您输入的是减法,运算结果为{}'.format(n1-n2))
elif op=='*':
print('您输入的是乘法,运算结果为{}'.format(n1*n2))
elif op=='/':
print('您输入的是除法,运算结果为{}'.format(n1/n2))
else:
print('输入有误不支持该运算')
# while的用法:
n=1 #n=1
while n<=5: #条件是n≤5的时候
print(n) #就循环输出n
n+=1 #每次循环输出的条件就是n+1
# 举例:第一次输出n为1,(1≤5)就进行第二次输出为1+1,(1+1≤5)就进行第三次输出。直到n≤5不在
# while与sum用法:
n=1 #n=1
sum=0 #sum意为总和,给sum赋值0是因为后面还有sum的赋值且进行了计算
while n<=5: #条件是1、n≤5的时候
sum=sum+n #2、sum=sum+n因为sum是0,所以这行代码的实际意思是计算每一个n循环执行后的总和
n+=1 #循环执行的条件同上:就是每次循环n都加1
print(sum) #打印sum的值,因为sum是求和的函数,所以此处会输出每一次循环的n的值的总和,也就是1+2+3+4+5
# for/in的用法及range的用法:
# 注意格式
for x in [0,1,2]: #列表内有0,1,2
print(x) #将是上述列表内的内容依次输出
for x in range(5): #range的用法range()括号内的5相当于上述列表内有[0,1,2,3,4]
print(x) #将小于5的整数依次输出
for x in range(5,10): #此处的range代表5,6,7,8,9
print(x) #将56789依次输出
for x in "hello": #此处没有列表,但是有字符串“hello”
print(x) #将上述字符串内的单个字符依次输出
# 使用for/in用法也可以输出sum值,具体用法同上
#break、continue必须使用在循环语句中
#打印0~4
a=0
while a<5:
print(a)
a+=1
#打印1~5
b=0
while b<5:
b+=1
print(b)
#只要遇到continue就会马上返回continue被管辖的原始第一行代码
#如下22行遇到continue,continue在if下,if在while下,所以马上就会返回19行的while进行逻辑判断,22行之后的代码不再执行
#打印1,3,4
c=0
while c<5:
if c==2:
c+=1 #如果将此行去掉就会循环卡死。因为c=2时if成立,c又没有一个运算变量就会循环执行continue导致卡死
continue #此处c==2执行了continue所以被跳过
print(c)
c+=1
#打印0~20之内的所有偶数,不包含10
d=0
while d<=20:
if d==10:
d+=2
continue
print(d)
d+=2
#同上将continue改为break
#遇到break就会终止整个循环,所以虽然代码同上但是输出到d=10的时候整个循环被break终止了,所以10没有被打印出来
e=0
while e<=20:
if e==10:
e+=2
break
print(e)
e+=2
#####小练习######
#循环输出你是不是人,只有当你输入是的时候才停止并打印一句“知道你是人,早点承认不就好了”
name=input('请问你是人吗?')
while name!='是':
name=input('请问你是人吗?')
if name=='是':
print('知道你是人,早点承认不就好了')
#同样的效果我们还可以这样实现:一直循环你是人吗,当输入是的时候就停止整个循环
while True:
answer=input('你是人吗?')
if answer=='是':
print('哈哈哈就知道你是人')
break
#####while循环中的逻辑易错点#####
#我们的要求是只有当输入的姓名是李四,员工号是111的时候才停止代码,否则就一直询问你的姓名和员工号
name=input('请输入您的姓名')
number=input('请输入您的员工号')
while name!='李四' and number!='111': #这里的逻辑关系要求:(name不是/不是/不是李四 和 员工号不是/不是/不是111)就执行下面的代码
name=input('请输入您的姓名') #计算机运行代码只有认定当前情况是True才会继续执行,当name和number都输入错误的时候逻辑关系才是True
number=input('请输入您的员工号') #只有逻辑关系True计算机才会继续执行代码,所以当任何一个变量输入正确的时候,比如name输入李四或者员工号输入111
#因为是and的关系,有一个输入正确不满足(!=)的条件整个逻辑关系都已经变成fault所以计算机不会再执行下面的代码
#此时就会出现逻辑上的误区,代码就出现bug不再继续运行
#所以在正常的代码编写中大家尽量要正向思考逻辑关系