python刷題常用方法


1、int()

將input()獲取的字符串類型轉為int型

2、type()

獲取變量類型

3、split()

將字符串分割成為元組

4、len()

獲取字符串或元組等的長度

5、print("",end="")

修改print的結尾

#類型轉換
float()#浮點數
int()#整數
complex()#復數

type('123')#判斷變量類型
isinstance()#判斷某個值或變量是否為給定類型
len()#返回長度,可用於字符串,列表
chr()ascii碼轉字符
ord()字符轉ascii碼

#字符串方法
from tokenize import String
String.find()#查找字符串返回索引
String.replace()#替換
String.split()#以sep為分隔符,分隔為列表
String.join()#加入sep為結尾分隔
String.strip()#去掉兩邊的空格
String.lstrip()#去掉左邊的空格
String.rstrip()#去掉右邊的空格
String.rjust()#右對齊,用空格補
String.ljust()#左對齊,用空格補
String.zfill()#右對齊用0補
String.center()#中間對齊
String.lower()#小寫
String.upper()#大寫

6、分數

#分數
import fractions
t= fractions.Fraction(11.5)#參數可以為浮點數,(分子,分母),字符串
print(t)
#獲取分母
print(t.numerator)
#獲取分子
print(t.denominator)
fractions.gcd(11,10)#得到a,b的最大公約數

int(t)#可以獲取分數整數部分
t-int(t)#可以獲取分數部分
將分數化為整數+分數形式

python不支持switch可以使用字典代替使用get()獲取操作

對於沒有循環體結構的循環使用pass來代替循環體

7、復數

#字符串轉復數
complex('2+3j')
real#用於取得實數部分
imag#用於取得虛數部分
abs()#可用於計算復數的模

8、 列表

#列表[]
#遍歷
#使用in操作符遍歷
#使用range(listLen),xrange()函數遍歷
#使用iter(list)函數遍歷。迭代器函數
#使用enumerate(list)函數遍歷。用於遍歷序列中的元素及其下標
#切片
list[m,n]#從m到n-1
list[:]#與list一樣
list[m:]#從m到結尾
list[:n]#從開頭到n-1
#更新列表
append()
#刪除
del
#返回並刪除,后面元素前移,默認為最后一個
pop()
#'+'可以合並列表,'*'用於重復列表,in ,not in 判斷元素是否在列表中
len(list)#計算元素個數
max(list)#返回最大值
sum(list)#求和
list(seq)#將元組轉為列表
count()#統計某個元素在列表中出現次數
extend()#一次性追加,添加列表不會作為一個元素
insert(index,obj)#插入
remove()#刪除第一個匹配項
reverse()#反向列表
sort(cmp,key,reverse)#排序
# cmp -- 可選參數, 如果指定了該參數會使用該參數的方法進行排序。
# key -- 主要是用來進行比較的元素,只有一個參數,具體的函數的參數就是取自於可迭代對象中,指定可迭代對象中的一個元素來進行排序。
# reverse -- 排序規則,reverse = True 降序, reverse = False 升序(默認)
#append()如果添加一個列表,則會作為一個元素

二進制操作

&:0&0=0; 0&1=0; 1&0=0; 1&1=1。

|:0|0=0; 0|1=1; 1|0=1; 1|1=1。

^:0^0=0; 0^1=1; 1^0=1; 1^1=0。

for循環

遞增 for i in range(0,10):
遞減 for i in range(10,0,-1):

進制轉換函數

十進制轉十六進制 hex()
十進制轉八進制 oct()
十進制轉二進制 bin()
字符轉ASCII碼 ord()
ASCII碼轉字符 chr()

創建二維數組並打印楊輝三角

n=int(input())
a = [[0 for i in range(14)] for j in range(n)]
for i in range(0,n):
    a[i][0]=1
for i in range(1,n):
    for j in range(1,i+1):
        a[i][j]=a[i-1][j-1]+a[i-1][j]
for i in range(0,n):
    for j in range(0,i+1):
        print('%-4d'%(a[i][j]),end='')
    print()

計算兩個日期之間差多少天

import datetime
str1=input().split("-")
y1=int(str1[0])
m1=int(str1[1])
d1=int(str1[2])
str2=input().split("-")
y2=int(str2[0])
m2=int(str2[1])
d2=int(str2[2])
day1 = datetime.datetime(y1,m1,d1)
day2 = datetime.datetime(y2,m2,d2)
interval = abs(day2 - day1)
if(interval.days%2!=0):
    print('我們生日相差%d天\n對不起,我們有緣無份'%interval.days)
else:
    print('我們生日相差%d天\n傻瓜,我心儀的人其實是你呀!'%interval.days)

未告訴輸入數據量

while True:
	try:
		strs=input()
	except:
		exit(0)

數字格式化

print(format(s, ','))


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM