所用編譯器VScode
所用學習網站 https://www.liaoxuefeng.com/wiki/1016959663602400
一:輸入和輸出
n=input()#定義一個變量並輸入這個變量
print(n)#自帶回車
m=input('please enter your name:')
print(m)
print('aaaa')
print("aaaa")
二:list
#定義一個數組
n =[2,3,4,5]
#輸出數組中元素的個數
print(len(n))
print(n[3])
#輸出5,下標從0開始
#如果要取最後一個元素,除了計算索引位置外,還可以用-1做索引,直接獲取最後一個元素:
print(n[-1])
#同理最後第二個元素-2……只要不越界
#追加元素到末尾
n.append(8)
#插入到指定位置
n.insert(1,6)
#刪除末尾的元素
n.pop()
#刪除指定位置
n.pop(1)
#將某個元素換成別的元素
n[1]=9
#數組元素類型也可以不相同
s=['AAA',123,true]
#可以list套list,相當於二維數組
p=['123','456',['789','aaa']]
a=['c','b','a']
a.sort()
print(a)
#list是可變對象,輸出['a','b','c']
#定義一個串是不可變對象
a='abc'
print(a.replace('a','A'))#輸出Abc
print(a)#輸出abc
三:條件判斷
#根據Python的縮進規則,如果if語句判斷是True,就把縮進的兩行print語句執行了,否則,什麼也不做。
n=8
if n>=8:
print("yes")
print("YES")
else:
print("NO")
print("no")
四:循環
(1)for循環
n=[1,2,3,4]
for n in n:
print(n)
#輸出每個元素
#計算1到10的和
sum=0
for x in [1,2,3,4,5,6,7,8,9,10]:
sum=sum+x
print(sum)
#那要是計算1到100呢
#Python提供了一個函數range(),可以生成一個整數序列,再通過list()函數可以轉換爲list。
#range(101)生成0到100的序列
sum2=0
for x in list(range(101)):
sum2+=x
print(sum2)
(2)while循環
#計算1到100的和
sum=0
n=100
while n>0:
sum=sum+n
n=n-1
print(sum)
#可以使用break跳出循環,continue提前結束本輪循環,並直接開始下一輪循環
#“死循環”可以用Ctrl+C退出程序
五:使用dict和set
dict全稱dictionary,在其他語言中也稱爲map,使用鍵-值(key-value)存儲,具有極快的查找速度。
(1)dict(空間來換取時間)
d={'A':2,'B':5,'V':7}
print(d['V'])#輸出7
#可以在後面放入值,如果已經存在就替換
d['P']=8
print(d['P'])
#要避免key不存在的錯誤,有兩種辦法in 或者get
print('B' in d)#輸出True
print(d.get('C'))#輸出None
print(d.get('C',-1))#自定義不存在輸出-1,存在輸出鍵值
#刪除一個
d.pop('A')
print(d)#輸出{'B': 5, 'V': 7, 'P': 8}
(2)set set和dict類似,也是一組key的集合,但不存儲value。由於key不能重複,所以,在set中,沒有重複的key。
s=set([1,2,3])
print(s)
ss=set([1,1,2,2,2,3])
print(ss)
#s和ss存儲的元素個數是一樣的,都是輸出{1, 2, 3}
s.add(5)#增加元素
s.remove(3)#刪除元素
#兩個set可以做數學意義上的交集、並集等操作
p=set([1,2,3])
pp=set([2,3,4])
print(p&pp)#輸出{2,3}
print(p|pp)#輸出{1,2,3,4}
五:函數
1.調用函數
#調用abs函數
print(abs(12.34))
print(abs(2))
#函數max()可以接收任意多個參數,並返回最大的那個
print(max(1,2))
print(max(1,2,3,4,5))
#用來數據類型轉換的函數
print(int('123')) #123
print(int(12.34)) #12
print(float('12.34')) #12.34
print(str(1.23)) #'1.23
print(bool('')) #False
a=abs # 變量a指向abs函數
print(a(-1)) # 所以也可以通過a調用abs函數
2.定義函數(在Python中,定義一個函數要使用def
語句,依次寫出函數名、括號、括號中的參數和冒號:
,然後,在縮進塊中編寫函數體,函數的返回值用return
語句返回。)
#eg:定義一個絕對值的函數
def my_abs(x):
if x>=0:
return x
else:
return -x
print(my_abs(-2))
#可以返回多個值
import math
def move(x,y):
x=x+1
y=y-1
return x,y
print(move(1,2))
3.函數的參數
學習中……
番外:Python math包
#除非有說明,math的函數都返回浮點數
import math
print(math.ceil(5.7)) #上取整 輸出6
print(math.floor(5.6))#下取整 輸出5
print(math.factorial(3))#3的階乘 輸出6
print(math.gcd(2,4))#最大公約數 輸出2
print(math.gcd(0,0))#輸出0
print(math.sqrt(4))#平方根 輸出2。0
print(math.log(4,2))#log(x,y)表示x以y爲底的對數
print(math.log2(8))#返回 x 以2爲底的對數 輸出 3.0
print(math.log10(100))#返回 x 以10爲底的對數 輸出 2.0
print(math.pow(2,3))#輸出2的3次方
print(math.pi)#輸出3.141592653589793
print(math.e)#輸出2.718281828459045
print(math.sin(math.pi/2))#返回 x 弧度的正弦值。輸出1.0
#類似的還有math.tan(x) math.cos(x) 注意都是弧度
#math.asin() math.acos() math.atan()
print(math.degrees(math.pi/2))#將角度 x 從弧度轉換爲度數。 輸出90.0
print(math.radians(180))# 將角度 x 從度數轉換爲弧度。輸出3.141592653589793