Python
命令行模式中:输入python 进入交互模式
交互模式:输入exit() 退出交互模式,进入命令行模式
命令行模式中,执行python脚本为 python xxx.py
SyntaxError提示:标识python存在语法错误
输出
输出指定字符串,使用 print() 例如 print(‘hello world’) print(“hello world”) 不能混用单引号+双引号,如 print("hello world’)
print() 函数中可以存多个字符串,使用英文逗号隔开,依次打印字符串时,遇到英文逗号输出空格 例如:print(“hello”,‘world’) 结果就是 hello world
输入
input() 函数
存放某值到变量中 var = input()
输入完以上后,可输入任意字符,回车后 输入var 就返回了刚输入的值 or print(var)
例如:输入a之后,输出a的绝对值
a = input("请输入a:")
if a >= 0:
print(a)
else:
print(-a)
TypeError: '>=' not supported between instances of 'str' and 'int'
以上存在错误,原因是input输入的是字符串,需要改为int类型,例如
a = int(input("请输入a:"))
if a >= 0:
print(a)
else:
print(-a)
list
录入list
array = [1,2,3,4] 此时array为 [1, 2, 3, 4]
len(array) 为list的长度
array[x] x>=0时,表示第x个 不能超出len(array)-1 x<0时,表示第倒数x个 不能超出 -len(array)
在list中加入元素到末尾 使用 append
array.append(8) 此时array为 [1, 2, 3, 4, 8]
在list中加入元素到指定的位置 使用 insert
array.insert(1,9) 表示把9放到array[1]的位置 此时array为 [1, 9, 2, 3, 4, 8]
在list中删除最末尾的元素 使用 pop
array.pop() 此时array为 [1, 9, 2, 3, 4]
在list中删除指定位置的元素 使用 pop(x)
array.pop(1) 删除array[1]的元素 此时array为 [1, 2, 3, 4]
在list中替换某位置的元素 直接赋值给指定位置
array[1] = 9 赋值array[1]的元素为9 此时array为 [1, 9, 3, 4]
tuple
tuple一旦初始化就不能修改 即是不可变的list 可查询tuple的值 但不能修改
定义一个tuple
t=(1,2) 可以查看 不能编辑
>>>t1[0]
1
>>>t1[1]
2
>>>t1[1] = 5
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
条件判断
ps:判断后必须要加上 冒号: 按顺序执行,前面存在满足条件的判断,则后面的判断就不执行了
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
例如:输入身高和体重,去计算BMI值并判断身材
weight = float(input("请输入体重kg:")) #定义weight和high和bmi为浮点数
high = float(input("请输入身高m:"))
bmi = float(weight/(high**2)) #python中,x的次方使用**
print("BMI指数为:",bmi)
#根据计算的BMI只,进行条件判断
if bmi>32:
print("严重肥胖")
elif bmi>28:
print("肥胖")
elif bmi>25:
print("过重")
elif bmi>=18.5:
print("正常")
elif bmi<18.5:
print("过轻")
循环
for……in 循环
依次把list或tuple中的每一个元素迭代出来
list = [1,2,3,4,5,6] #定义一个list
for sz in list: #把list中的每一个值带入到元素 sz 中 并执行print
print(sz)
sum = 0
list = [1,2,3,4,5,6,7,8,9,10] #定义一个list
for x in list: #把list中的每一个值带入到元素x中 并执行sum=sum+x
sum = sum+x
print(sum)
range() 函数
使用:range(x) 生成整数序列,从0到小于x
例如:list(range(5)) 结果是 [0, 1, 2, 3, 4]
sum = 0
for x in range(101):
sum = sum + x
print(sum)
while 循环
条件满足继续循环,条件不满足跳出循环
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
break 循环
n = 1
while n <= 100:
if n > 10: # 当n = 11时,条件满足,执行break语句
break # break语句会结束当前循环
print(n)
n = n + 1
print('END')
continue 循环
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
dict
使用键值对存储,同java中的map key必须是不可变的对象且唯一,value可变
get(key) 方法 :通过key获取dict中的value
pop(key)方法:通过key值,删除dict中对应的key和value
keyvalue = {'ABC':123,'DEF':456,'GHI':789}
print("当前初始值为:",keyvalue)
#改变DEF的value
keyvalue['DEF'] = 654
print("修改DEF值为654后当前值为:",keyvalue)
#获取ABC的值
print("获取ABC的值:",keyvalue['ABC'])
print("获取DEF的值:",keyvalue.get('DEF'))
#删除DEF的value
keyvalue.pop('DEF')
print("删除DEF后的当前值为:",keyvalue)
set
是一组key值的集合,不存储value。key值必须是唯一的。set是无序不重复的元素集合
add(key) 方法可以添加元素到set中,重复添加不会有效果
remove(key)方法可以删除元素
set可用作交集和并集操作,交集使用& 并集使用|
#set中key值唯一,所以重复元素自动过滤
s = set([1, 1, 2, 2, 3, 3])
print("输出set([1, 1, 2, 2, 3, 3])的值:",s)
#add添加key值
s.add(4)
print("add(4)的结果:",s)
#add添加重复的key无效果
s.add(3)
print("add(3)的结果:",s)
#remove来删除元素
s.remove(3)
print("remove(3)的结果:",s)
#remove不存在的key值会报错
#s.remove(3)
#print("再次remove(3)的结果:",s)
#报错:
#Traceback (most recent call last):
# File "python.py", line 13, in <module>
# s.remove(3)
#KeyError: 3
#set可用作交集和并集操作,交集使用& 并集使用|
s1 = set([1,2,3,4])
s2 = set([4,5,6,7])
print("s1集合为:",s1)
print("s2集合为:",s2)
print("s1和s2的交集为:",s1&s2)
print("s1和s2的并集为:",s1|s2)
定义函数
定义函数需要使用 def 语句,写出函数名、括号、括号中的参数和冒号,函数返回值使用return
例如:def name(x):
输入任意数,计算其绝对值
s = int(input("请输入参数:",))
def my_abs(x):
if x >= 0:
return x
else:
return -x
print("输入参数的绝对值为:",my_abs(s))
输入axx+bx+c=0 中的abc,计算一元二次方程的解
import math #导入math包
a1 = int(input("请输入参数a:",)) #手动输入需要的abc
b2 = int(input("请输入参数b:",))
c3 = int(input("请输入参数c:",))
def res(a,b,c): #当bb-4ac小于0时,无解
sqrt1 = b**2-4*a*c
if sqrt1 < 0:
return "无解"
x1 = (math.sqrt(sqrt1)-b)/(2*a)
x2 = (math.sqrt(sqrt1)+b)/(-2*a)
return x1,x2
print("计算结果为:",res(a1,b2,c3))