一、判斷是否為吉祥數字
方法一:數字轉化為字串再轉化為集合去重
def lucky_num(num):
#判斷是否為吉祥數字
for i in set(str(num)):
if str(i)=="8":
print("吉祥")
break
else:
continue
方法二:
def lucky_num(num):
return '8' in str(num)
二、給定任意字串,查詢其中每個字元的最後一次出現,並按每個字元最後一次出現的先後順序依次存入列表。例如對於字串'abcda'的處理結果為['b', 'c', 'd', 'a'],而字串'abcbda'的處理結果為['c', 'b', 'd', 'a']。
方法一:
def reset_order(string):
a = str(string)
b = ""
c = {}
for i in a:
for j in range(1,len(string)):
if i==a[-j] and i not in b:
b=i+b
c[i]=[j]
break
else:
continue
return "".join(pd.dataframe(c).t.rename(columns=).sort_values("order",ascending=false).index)
方法二:正規表示式『(?!...)』
後向非界定
import re
print(re.findall(r'(\w)(?!.*\1)', s))
三、編寫函式,計算形式如a + aa + aaa + aaaa + ... + a個a的表示式的值,其中a為小於10的自然數
方法一:
def sum_num_num(num):
i=0s=0
for j in range(0,num):
i = num*(10**j)+i
s = s+i
return s
方法二:
def sum_num_n(num, n):
num = str(num)
result = sum(eval(num*i) for i in range(1,n+1))
return result
四、生成包含20個隨機數的列表,然後刪除其中的所有奇數
方法一:
a=[randrange(10) for i in range(20)]
b=for i in a:
if i%2==1:
else:
continue
print(a)
print(b)
方法二:
a=[randrange(10) for i in range(20)]
b=list(filter(lambda x: x%2==0, a))
五:有乙個整數列表,要求調整元素順序,把所有奇數都放到前面,偶數都放到後面。
方法一:
a=[randrange(10) for i in range(20)]
b=c=
for i in a:
if i%2==1:
else:
print(b+c)
方法二:
a=[randrange(10) for i in range(20)]
def order_list(list):
return sorted(list,key=lambda item:item%2==0)
order_list(a)
六:編寫乙個函式,輸入n為偶數時,呼叫函式求1/2+1/4+...+1/n,當輸入n為奇數時,呼叫函式1/1+1/3+...+1/n
import numpy as np
def add_1n(x):
s=0if str(x).isdigit():
if np.mod(x,2)==0:
for i in range(2,x+2,2):
s = s + 1/i
elif np.mod(x,2)==1:
for i in range(1,x+2,2):
s = s + 1/i
else:
s = "請輸入正整數"
else:
s = "輸入錯誤"
return s
七、#有兩個磁碟檔案a和b,各存放一行字母,要求把這兩個檔案中的資訊合併(按字母順序排列), 輸出到乙個新檔案c中。
with open("a.txt","r") as f,open("b.txt","r") as g,open("c.txt","w") as fg:
word1 = f.read()
word2 = g.read()
word3 = list(word1+word2)
word3.sort()
word4 = "".join(word3)
fg.write(word4)
print(word4)
八、#從鍵盤輸入乙個字串,將小寫字母全部轉換成大寫字母,然後輸出到乙個磁碟檔案"test"中儲存。
a = input("please input a word:")
b = str(a).upper()
with open("text.txt","w") as f:
f.write(b)
九、#從鍵盤輸入一些字元,逐個把它們寫到磁碟檔案上,直到輸入乙個 # 為止
with open("text.txt","w") as f:
a = input("please input a word:")
while a !="#":
f.write(a)
a = input("please input a word:")
十、計算字串中子串出現的次數。
#a = input("請輸入總文字:")
#b = input("請輸入子串:")
a = "aaaaajsdjsdjjsdd"
b = "dj"
print(a.count(b))
十
一、字串日期轉換為易讀的日期格式
from dateutil import parser
a = "apr 24 2018 11:56am"
b = parser.parse(a)
print(b)
Python學習 持續更新
先立個flag 2017 10 13 time 2017 10 15 今天花時間搭好了環境,寫了幾個print語句。實際上一臉懵逼,還不太清楚python的整個結構。說實話我找不到類似c語言裡面的.c h檔案這樣的。對整個結構都不太清楚,也沒找到.py檔案,實在是不清楚。哦原來是建立檔案的時候錯了 ...
shader常用數學函式整理(持續更新)
step a,b b a 1 0 smoothstep x,y,a a如果小於x返回0 如果a y返回1 在x y之間返回 3a 2 2a 3 saturate x 如果x取值小於0,則返回值為0。如果x取值大於1,則返回值為1。若x在0到1之間,則直接返回x的值.lerp a,b,w a,b,w ...
Python學習筆記 持續更新
1 匿名函式lambda 一段示例 def f x,y return x y reduce f,1,2,3 reduce的作用是將list中的值累計相加 f函式提供的計算 1 2 3,3 3 6 等價於 reduce lambda x,y x y,1,2,3 list1 2,18,9,22,17,2...