基礎練習(VIP部分-持續更新) - 藍橋杯(Python實現)

時間轉換:

題目:

資源限制 時間限制:1.0s   內存限制:512.0MB 問題描述   給定一個以秒爲單位的時間t,要求用「<H>:<M>:<S>」的格式來表示這個時間。<H>表示時間,<M>表示分鐘,而<S>表示秒,它們都是整數且沒有前導的「0」。例如,若t=0,則應輸出是「0:0:0」;若t=3661,則輸出「1:1:1」。 輸入格式   輸入只有一行,是一個整數t(0<=t<=86399)。 輸出格式   輸出只有一行,是以「<H>:<M>:<S>」的格式所表示的時間,不包括引號。 樣例輸入 0 樣例輸出 0:0:0 樣例輸入 5436 樣例輸出 1:30:36

代碼:

s = int(input()) if s >= 0 and s <= 86399: H = s//3600
    s = s - H*3600 M = s//60
    s = s - M*60 print("{}:{}:{}".format(H, M, s))
法一
num = int(input())#輸入及字符轉爲整型 m,s=divmod(num,60)#整數賦值給m,餘數賦值給s h,m=divmod(m,60)#同理 print("{}:{}:{}".format(h,m,s))#格式化輸出
法二
while True: try: t = int(input()) h = t // 3600
        m = t%3600 // 60
        s = t % 3600 % 60 print(str(h)+':'+str(m)+':'+str(s)) except: break
法三
t = int(input()) a = 0 b = 0 c = 0 a = int(t/3600) b = int((t%3600)/60) c = int((t%3600)%60) print(str(a)+":"+str(b)+":"+str(c))
法四

注:

法三和法四使用字符串轉換編程

 

字符串對比:

題目:

資源限制 時間限制:1.0s   內存限制:512.0MB 問題描述   給定兩個僅由大寫字母或小寫字母組成的字符串(長度介於1到10之間),它們之間的關係是如下4中狀況之一:   1:兩個字符串長度不等。好比 Beijing 和 Hebei   2:兩個字符串不只長度相等,並且相應位置上的字符徹底一致(區分大小寫),好比 Beijing 和 Beijing   3:兩個字符串長度相等,相應位置上的字符僅在不區分大小寫的前提下才能達到徹底一致(也就是說,它並不知足狀況2)。好比 beijing 和 BEIjing   4:兩個字符串長度相等,可是即便是不區分大小寫也不能使這兩個字符串一致。好比 Beijing 和 Nanjing   編程判斷輸入的兩個字符串之間的關係屬於這四類中的哪一類,給出所屬的類的編號。 輸入格式   包括兩行,每行都是一個字符串 輸出格式   僅有一個數字,代表這兩個字符串的關係編號 樣例輸入 BEIjing beiJing 樣例輸出 3

代碼:

s1 = str(input()) s2 = str(input()) len1 = len(s1) len2 = len(s2) if len1 != len2: print("1") else: if s1 == s2: print("2") elif s1.lower() == s2.lower(): print("3") elif s1.lower() != s2.lower(): print("4")
法一
import re def judge(s1, s2): if len(s1) != len(s2): return 1
    if s1 == s2: return 2
    if len(s1) == len(s2): if re.search(s1,s2,re.IGNORECASE): return 3
        else: return 4 print(judge(input(),input()))
法二

注:

關於法二中的re模塊:app

re.IGNORECASE是compile函數中的一個匹配模式。
re.IGNORECASE的意思就是忽略大小寫。
爬蟲中運用比較多

 

分解質因數:

題目:

資源限制 時間限制:1.0s   內存限制:512.0MB 問題描述   求出區間[a,b]中全部整數的質因數分解。 輸入格式   輸入兩個整數a,b。 輸出格式   每行輸出一個數的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是從小到大的)(具體可看樣例) 樣例輸入 3 10 樣例輸出 3=3
4=2*2
5=5
6=2*3
7=7
8=2*2*2
9=3*3
10=2*5 提示   先篩出全部素數,而後再分解。 數據規模和約定   2<=a<=b<=10000

代碼:

# 判斷素數 def primeNumber(n): for i in range(2,int(n**0.5)+1): if n % i == 0: return False else: return True #質因數分解 def qualityDecomposition(tmp): for i in range(2, tmp + 1): if tmp % i == 0: tmp = tmp // i
 tmpL.append(i) qualityDecomposition(tmp) break # 輸入 num = input().split() a = int(num[0]) b = int(num[1]) while a != b+1: tmpL = [] # 存放質因數 if primeNumber(a): print("{}={}".format(a, a)) else: print("{}=".format(a, a),end="") qualityDecomposition(a) for i in range(len(tmpL)): print(tmpL[i],end='') if i == len(tmpL) - 1: print('') else: print("*",end='') a += 1
View Code

 

矩陣乘法:

題目:

資源限制 時間限制:1.0s   內存限制:512.0MB 問題描述   給定一個N階矩陣A,輸出A的M次冪(M是非負整數)   例如:   A =
  1 2
  3 4   A的2次冪   7 10
  15 22 輸入格式   第一行是一個正整數N、M(1<=N<=30, 0<=M<=5),表示矩陣A的階數和要求的冪數   接下來N行,每行N個絕對值不超過10的非負整數,描述矩陣A的值 輸出格式   輸出共N行,每行N個整數,表示A的M次冪所對應的矩陣。相鄰的數之間用一個空格隔開 樣例輸入 2 2
1 2
3 4 樣例輸出 7 10
15 22

代碼:

while True: try: def matrix_mul(matrix1,matrix, n): c = [[0 for m1 in range(n)]for m in range(n)] for i in range(n): for j in range(n): for k in range(n): c[i][j] += matrix1[i][k] * matrix[k][j] return c n = list(map(int, input().split())) s = [] result = s for j in range(n[0]): s.append(list(map(int, input().split()))) if n[1] == 0: for i in range(0, n[0]): for j in range(0, n[0]): if i == j: result[i][j] = 1
                    else: result[i][j] = 0
        else: for k in range(n[1]-1): result = matrix_mul(result,s,n[0]) for i in range(0, result.__len__()) : for j in range(0, result[i].__len__()) : print(result[i][j],'', end='') print('') except: break
View Code
相關文章
相關標籤/搜索