1、python的基本数据类型
# int是整型,存储整数的变量
a = 1
print("a",a,type(a))
# float是浮点型,存储小数的变量
e = 1.11
print("e",e,type(e))
# boolean是布尔型,存储true跟false的变量
f = True
print("f",f,type(f))
# complex是复数型,存储复数的变量,数学上的i用j表示
g = 1+1j
print("g",g,type(g))
# string是字符串型,存储字符串,""跟''都可以
h = "hacchi"
print("h",h,type(h))
# 容器(增删改查)
# list是list列表型,列表里面是元素,可以增删改查
# list列表的定义
b = [1,2,3,4]
print("b",b,type(b))
# list的取值
print(b[1],type(b[1]))
#list[start:end] [start:end]
print(b[0:2],type(b[0:2]))
#定一个10元素的列表,然后取出4-8个元素
x = [1,2,3,4,5,6,7,8,9,0]
print(x[3:8],type(x[3:8]))
#list的修改
x[1]=3
print(x)
#删除
del x[1]
print(x)
#插入
x.insert(2,4)
print(x)
#定义一个有5个元素的list列表,查询第3个元素,在第4个元素的地方插入'aaa',修改第5个元素为'bbb',再删除第2个元素
y = [1,2,3,4,5]
print(y[2])
y.insert(3,'aaa')
print(y)
y[4]='bbb'
print(y)
del y[1]
print(y)
# tulpe是元组型的变量,变量一旦定义,不可改变,所以不可增删改查
i = (1,2,3,4)
print("i",i,type(i))
# set是集合型变量,变量需要以list,tuple为基础,把相同的元素变为一个元素
c = set(b)
print("c",c,type(c))
# # dictionary(key-value)是字典型的变量,变量有很多个元素,每个元素是一个(key:value)键值对,key键不可重复,value可以重复
d = {1:"d",2:"a"}
print("d",d,type(d))
#取值
print(d[1])
#修改
d[2]= 'a'
print(d[1])
#增加
d[3]=5
print(d)
#删除
del d[1]
print(d)
2、运算符:+ - * / // %
# + 加
print(5+3)
# - 减
print(5-3)
# * 乘
print(5*3)
# / 除以
print(5/3)
# // 除整:做了除以的运算
print(5//3)
# % 取余
print(5%3)
如果遇到0.8888888889之类的不要慌,这是计算机计算机制的锅,一般不影响计算
3、 逻辑关系
让计算机做判断,判断的结果是(是,否)boolean(True,False)
# a==b 来判断a,b是否相等
print(5==5)
# a!=b 来判断a,b是否不等
print(5!=5)
# >
print(5>5)
# >=
print(5>=5)
# <
print(5<5)
# <=
print(5<=5)
# (判断式)and(判断式) 两边为true才为true
print(5==5 and 5<5)
# (判断式)or(判断式) 两边只要一个为true,为true
print(5==5 or 5<5)
类似看见与或非,来理解这里的逻辑关系,and也可用“ & ”表示,or为“ | ”,在c或者其他语言,都是‘’==‘’相等、‘’||‘’或、‘’&&‘’与。
4、条件语句
# 只有if
a = 10
if a > 5:
print("这个数字大于5")
# if与else组合
a = 10
if a > 5:
print("这个数字大于5")
else:
print("这个数字不大于5")
# if elif elif...else
a = 10
if a > 5:
print("这个数字大于5")
elif a<0 :
print("这个数字小于0")
else:
print("这个数字既不大于5,也不小于0")
在条件语句或之后的循环语句中,缩进,大小写都是有着严格要求,所以学好python你其他语言的编译习惯会好很多。
这里需要注意的是,在条件后面都是有“ : ”,这个是跟之前学的c,c++,java都是不同的。
练习题1:
输入一个年龄,18岁以下提示未成年,60岁以上提示已经退休,其余提示需要工作
# 输入一个年龄,18岁以下提示未成年,60岁以上提示已经退休,其余提示需要工作
age = 18
if age < 18:
print("您好,目前您还是未成年喃~")
elif age > 60:
print("您好,您已经退休了哦~")
else:
print("您辛苦啦,还需要继续努力工作呢")
5、循环语句
首先是for的用法:
简单而言就是
for i in range(0, 10, 2): # [start,end) print(i)
# [start,end)的注释:0~10,实际数字不包含尾数10
练习题2:
打印出100以内,能被13整出的数
for i in range(0,100,13):
print(i)
a = [1,2,3,'a','b','c']
for i in a:
print("100以内可以被13整除的数有:",i)
while的用法(while别拼错了(=゚ω゚)ノ)
a=10 while a<20: a=a+1 print(a)
练习题3:
将100以内的素数打印出来
# 方法一:
for i in range(2,101):
flag = True
for j in range(2,i):
if i%j==0:
flag=False
if flag:
print(i)
# 方法二:
num=[];
i=2
for i in range(2,100):
j=2
for j in range(2,i):
if(i%j==0):
break
else:
num.append(i)
print(num)
# 方法三:
print("打印100以内的素数、质数")
for i in range(2,101):
if i==2:
print(i)
else:
for j in range(2,i):
if i%j==0:
break;
if i==j+1:
print(i)
在这循环语句中经常使用到continue跟break
【break是结束整个循环体,continue是结束单次循环】跟c他们概念差不多。
#break
for i in range(10):
print(i)
if i == 6:
break
#continue
for i in range(10):
print(i)
if i == 6:
continue
print("Hello")
两个还是运行才能了解差别。
6、函数
参考实例理解,套的壳子都一样
# 计算一下(x+1)**2
def function1(x):
y = x+1
n = y**2
return n
a = function1(5)
print(a)
将上栗再加一下难度
#改成输入3个变量,输出3个变量,并全部打印出来
def function2(a,b,c):
i = b**2+c*2-a
m = c**2+a*2-b
n = a**2+b*2-c
return i,m,n
a = function2(1,2,3)
print(a)
练习题4:
输入一个整数首项,输入一个整数尾项,差为1,输入它们的等差数列的和
def function3(a,b):
n = b-a+1
s = (a+b)*n/2
return s
a = function3(1,5)
print(a)
练习题5: 输入三个数字,返回最大值
def function4(a,b,c):
max = a
if b > max:
max = b
if c > max:
max = c
return max
a = function4(1,5,3)
print(a)
===================================以上便是python的基础知识=========================================
课后练习题
第一题:计算水仙花数,三位数,每个数字的三次方相加的和,等于这个数字本身
#123=1**3+2**3+3**3
#100~999找出水仙花数
for n in range(100,999):
a = n//100 # 百位的
b = n//10%10 #十位的
c = n%10 #个位上的
if a**3+b**3+c**3==n:
print(n)
第二题:64格的棋盘,第一格1颗米,第二格2颗米,第n格有2**(n-1)颗米,棋盘一共多少米
#1+2+4+8
s = 0
for n in range(1,65):
i = 2**(n-1)
s = s+i
print(s)
第三题:计算一下税后工资,让用户输入税前工资,程序输出税后工资
速算扣除数就是到下一个范围时,他之前的都是固定数,相加便是,上图的数不准,我自己重新算了一下 # 3000 3% 0 # 3000-12000 10% 90 # 12000-25000 20% 990 # 25000-35000 25% 3590 # 35000-55000 30% 6090 # 55000-80000 35% 12090 # 超过80000部分 45% 20840
def function(x):
if x<3000:
y = x * 0.03
elif 3000<=x&x<12000:
y = 90 + x * 0.1
elif 12000<=x&x<25000:
y = 990 +0.2 * x
elif 25000<=x&x<35000:
y = 3590 + 0.25 * x
elif 35000<=x&x<55000:
y = 6090 + 0.3 * x
elif 55000<=x&x<80000:
y = 12090 + 0.35 * x
else:
y = 20840 + 0.45 * x
return y
a = input("请输入您的工资金额:")
a = int(a)
b = function(a)
print(b,type(b))
到这里差不多第一个写完了,之前也学习过python,但是百度多过于自己写,再到自己时候发现,有时候不知道哪里错时才看见缩进不对。再说一下我的习惯吧,python3在pycharm上有很多自动提示,每次有些不为错的波浪提示就让我看不过去,所以
注释一般是:两个空格#一个空格
运算符除了在print()内的,其他都是a + b = c
使用 , 时候要留一个空格,比如a, b = 0, 1
多行注释可以是 选中需要注释的部分+ctrl+/ 也可以是 """ """三个引号间,推荐第一个贼方便