python習題二


1.輸入1-127的ascii碼並輸出對應的字符

for i in range(1,128):
    print(chr(i))

 

2.輸入a,b,c,d,4個整數,計算a+b-c*d的結果

a = input("send integer num a is: ")

b = input("send integer num b is: ")

c = input("send integer num c is: ")

d = input("send integer num d is: ")

result = int(a)+int(b)-int(c)*int(d)

print(result)

 

3.計算一周有多少分鍾,多少秒鍾

def get_mint_sec(week):

    per_week_day = 7

    per_day_hours = 24

    per_hour_minutes = 60

    per_minutes_second = 60

   minutes = week*per_week_day*per_day_hours*per_hour_minutes

   seconds = minutes*per_minutes_second 

   return minutes,seconds

print("分鍾,秒鍾:" get_mint_sec(1))

 

4.3個人在餐廳吃飯,想分攤飯費,總共花費35.27美元,他們還想給15%的小費,每個人該怎么付錢。

def average_fee(fee,discount,person):
    return round((fee*(1+discount))/person,2)

print(average_fee(35.27,0.15,3))

 

5.計算一個12.5m * 16.7m的矩形房間的面積和周長

def get_s_c(a,b):

    s = float(a) * float(b)

c= (float(a) + float(b))*2

    returen s,c

 

print(get_s_c(12.5,16.7))

 

6.怎么得到9/2的小數結果

def get_result(a,b):
    return float(a)/float(b)

print(get_result(9,2))

 

7.計算7*7*7*7的各種方法

方法1:

result = 1

for i in range(1,5):

    result = 7*i

print(result)

方法2:

print([i for i in range(1,5)][-1])

  

8.將溫度從華氏轉換為設置溫度。公式C=5/9*(F-32)

def change(F):

    return round(5/9*(F-32),2)

 

print(change(6))

 

9.一家商場降價促銷,如果購買金額在50-100元(包含50,100)之間,會給10%的折扣,如果購買金額大於100,會給20%的折扣。編寫程序,詢問購買價格,在顯示出折扣(10%或者20%)和最終價額。

def price_discount():
    price = None
    while 1:
        user_input = input("Your consumption amount is:")
        try:
            float(user_input)
            if float(user_input) <= 50 and float(user_input) >= 0:
                price = float(user_input)
                return "your end price is :%s" % price
            elif float(user_input) >= 50 and float(user_input) <= 100:
                print("your discount is 10%!")
                price = float(user_input)*(1-0.1)
                return "your end price is :%s" % price
            elif float(user_input) > 100:
                print("your discount is 20%!")
                price = float(user_input) * (1 - 0.2)
                return "your end price is :%s" % price
        except:
            pass

 

print(price_discount())

 

10.判斷一個數N能否同時被3和5整除

while 1:
    user_input = input("input your num:")
    if float(user_input) % 3 == 0 and float(user_input) % 5 == 0:
        print("this %s is right!"%user_input)
    else:
        print("this %s is wrong!"%user_input)

 

11.求1+2+3+。。。。+100

sum = 0

for i in range(1,101):
    sum += i

print(sum)

 

12.交換兩個變量的值

方法1:

temp = 0

a = 1

b = 2

temp = b

b = a

a = temp

print(a,b)

方法2:

a,b = 1,2

a,b=b,a

print(a,b)

 

13.一個足球隊在尋找年齡在10到12歲的小女孩(包括10,12)加入,編寫一個程序,詢問用戶的性別(m:男性,f:女性)和年齡,然后顯示一條消息指出這個人是否可以加入球隊,詢問10次后,輸出滿足條件的總人數。

def find_member():
    time = 1
    while time <= 10:
        gender = input("send your gender m or f:")
        time += 1
        if gender == "m":
            continue
        if gender == "f":
            age = input("send your age:")
            if float(age) < 10 or float(age)>12:
                continue
            if float(age)>=10 and float(age)<= 12:
                print("welcome to our football team!")

 

14.長途旅行中,剛到一個加油站,距下一個加油站還有200km,而且以后每個加油站之間都是200km,編寫一個程序確定是不是需要在這里加油,還是可以等到接下來的第幾個加油站再加油。

詢問一下幾個問題:

1)你車的油箱有多大,單位升

2)目前郵箱還剩多少油,按百分比算,比如一半就是0.5

3)你車每升油可以走多遠(km)

提示:油箱中包含5升的緩沖油,以防油表不准。

def add_oil():
    volume = input("How big is your gas tank? ")
    oli = input("How much oil is left in the tank? ")
    dintance = input("How far can you go per liter of oil? ")
    the_buffer_gas = 5
    usable_oil = float(volume) * float(oli) - the_buffer_gas
    if usable_oil *float(dintance) < 200:
        print("STOP!you need to add oil in here!")
    elif usable_oil*float(dintance) >= 200 :
        n = str(usable_oil *float(dintance) / 200).split(".")[0]
        print("you should add oil in the %s station!"%n)

 

15.現有面包、熱狗、番茄醬、芥末醬以及洋蔥,數字顯示多少種訂購組合,其中面包必定,0不訂,1訂,比如10000,表示只訂購面包。

for hotdog in range(2):

    for ketchup in range(2):

        for mustard in range(2):

            for onion in range(2):

                print("1-",hotdog,"-",ketchup,"-",mustard,"-",onion)

 

16.基於上題,給出每種食物的卡路里(自定義),在計算每種組合總共的卡路里

calorie = 0
bread = 10
hotdog = 20
ketchup = 30
mustard = 40
onion = 50
for i in range(2):
for j in range(2):
for k in range(2):
for l in range(2):
print("1-",i,"-",j,"-",k,"-",l)
caloorie = bread+i*hotdog+j*ketchup+k*mustard+l*onion
print("每種組合的卡路里為:",calorie)

17.輸入5個名字,排序后輸出

name_list = []
for i in range(5):
    name = input("send your name: ")
    name_list.append(name)


print(name_list)
print(sorted(name_list,reverse= True))

 

18.實現一個簡單的單詞本

功能:

1)可以添加單詞和詞義,當所添加的單詞已存在,讓用戶知道

2)可以查找單詞,當查找的單詞不存在時,讓用戶知道

3)可以刪除單詞,當刪除的單詞不存在時,讓用戶知道

4)以上功能可以無限制做,直到用戶輸入bye退出程序

word_list = []
while 1:
    command_word = input("send a command and word: ")
    print(command_word)
    command = command_word.split(" ")[0]
    word = command_word.split(" ")[1]
    if command == "add":
        if word not in word_list:
            word_list.append(word)
            print("The word was successfully added!")
        else:
            print("The word already exits!")
    if command == "search":
        if word not in word_list:
            print("The word not exits!")
        else:
            print(word)
    if command == "delete":
        if word not in word_list:
            print("The word not exits!")
        else:
            for i in word_list:
                if word == i:
                    word_list.remove(word)
                    print("The word deleted successfully!")
    if command == "bye":
        break

 

19.輸入一個正整數,輸出其階乘結果

提示:n!=1×2×3×...×n

def  factorial():
num = input("send a num: ")
result = 1
for i in range(1,int(num)+1):
print("i:",i)
result *= i
print("result:",result)


factorial()

20.計算存款利息

4種方法可選:

1)活期,年利率為r1

2)一年定息,年利率為r2

3)存兩次半年定期,年利率為r3

4)兩年期定息,年利率為r4

現有本金1000元,請分別計算出一年后按4種方法所得到的本息和

提示:本息=本金+本金*年利率*存款期

def interest_on_deposit():
    while 1:
        principal = 1000
        principal_and_interest = 0
        Interest_calculation_method = input("send a method: ")
        if Interest_calculation_method == "r1":
            principal_and_interest = principal+principal*0.01*12
            print("your choice is due on demand,your principal and interest is:",principal_and_interest)
        elif Interest_calculation_method == "r2":
            principal_and_interest = principal+principal*0.02*12
            print("your choice is One year's fixed interest,your principal and interest is:",principal_and_interest)
        elif Interest_calculation_method == "r3":
            principal_and_interest = (principal+principal*0.03*30)/30*12
            print("your choice is two and a half years,your principal and interest is:",principal_and_interest)
        elif Interest_calculation_method == "r4":
            principal_and_interest = (principal+principal*0.04*24)/24*12
            print("your choice is two years,your principal and interest is:",principal_and_interest)
        else:
            print("wrong!")
            break

 

21.輸入3個數字,以逗號隔開,輸出其中最大的那個數

num_list = []
for i in range(3):
    num = input("send a num: ")
    num_list.append(num)

print(num_list)
sorted(num_list,reverse = True)[0]

 

22.輸入一個年份,輸出是否為閏年

提示:能被4整除但不能被100整除,或者能被400整除的年份都是閏年

while 1:
year = input("send a year: ")
    if int(year) % 4 == 0 and int(year) % 100 != 0 or int(year) % 400 == 0:
        print("this %d is runnian!"%int(year))
    else:
        print("this %d is not runnian!"%int(year))

 

23.求2個正整數m和n的最大公約數

提示:指兩個或多個整數共有約數中最大的一

def get_big_divisor():

    num1 = input("send a num1: ")
num2 = input("send a num2: ")
num1_list = []
num2_list = []
for i in range(1, int(num1) + 1):
if int(num1) % i == 0:
# print(i)
num1_list.append(i)

for i in range(1, int(num2) + 1):
if int(num2) % i == 0:
# print(i)
num2_list.append(i)

if len(num1_list) <= len(num2_list):
for i in sorted(num1_list, reverse=True):
if i in num2_list:
print(i)
break
elif len(num1_list) >= len(num2_list):
for i in sorted(num2_list, reverse=True):
if i in num1_list:
print(i)
break


get_big_divisor()


24.使用盡可能多的方法實現list去重

方法1:

s = [1,2,4,5,3,5]
set(s):

方法2:

s = [1,2,4,5,3,5]
for i in s:
    if s.count(i) > 1:
        s.remove(i)

print(s)

方法3:
d = []
s = [1,2,4,5,3,5]
for i in s:
    if i not in d:
        d.append(i)

print(d)

 

25.成績等級判斷,利用條件運算符的嵌套來完成此題:學習成績》= 90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示

while 1:
    score = input("send a score: ")
    if float(score) >= 90:
        print("you get A")
    elif float(score) >= 60 and float(score) <= 89:
        print("you get B")
    elif float(score) < 60 and float(score) >= 0:
        print("you get C")
    else:
        break

 

26.實現數學中多項式求和公式的打印
例如:a6x^6 + a5x^5 +a4x^4 +a3x^3 +a2x^2 +a1x^1 + a0

def ss(a,x):
    ss = 0
    for i in range(7):
        ss = a*i*pow(x,i) #pow(x,i)x的指數
    return ss

print(ss(1,2))

 

27.統計名字列表中,個名字的首字母在名字列表中出現的次數

name = ["atyuty","dfdftr","awerery","brr","awerw"]
name_one = []
c = {}

for i in name:
    name_one.append(i[0])


for j in name_one:
    c[j] = name_one.count(j)


print(c)

 

28.輸入三個數,判斷是否能構成三角形
提示:

1.三邊大於0

2.兩邊之和大於第三邊

3.兩邊之差小於第三邊

while 1:
    a = input("send a a: ")
    b = input("send a b: ")
    c = input("send a c: ")
    a = float(a)
    b = float(b)
    c = float(c)
    if a >0 and b >0 and c >0 :
        if (a+b >c and a+c >b and b+c>a) or (a-b < c and a-c <b and b-c>a):
            print("this is triangle!")
        else:
            print("this is not triangle!")
            break

 

29.實現字典的formkeys方法

如:

seq = ("name","agr","sex)

dict = dict.formkeys(seq,10)

print("New Dictionary:%s"%str(dict))

結果:New Dictionary:{“age”:10,"name:10,"sex":10}

方法1:

seq = [1,2,3]
dict = dict.fromkeys(seq,10)
print(dict)

方法2:

seq = ("lili","lucy","marry")
dict = dict.fromkeys(seq,[98,96,100])
print(dict)

方法3:
seq = ("lili","lucy","marry")
dict = dict.fromkeys(seq)
print(dict)

 

30.鍵盤讀入一個字符串,逆序輸出

def reverse_string():
    word = input("send a word: ")
    return word[::-1]

print( reverse_string())

 

 

31.讀入一個整數n,輸出n的階乘

def n_n():
    num = input("send a num: ")
    return pow(int(num),int(num))

print( n_n())

 

32.打印1/2,1/3,1/4........1/10

 for i in range(2,11):

    print("1"+"/"+str(i))

 

33.寫一個函數實現一個數學公式

def sum(a,b):
return a+b

print(sum(1,2))

 

34.輸入數字a,n,如a,4,則打印a+aa+aaa+aaaa之和

def num_times(a,n):
    result = ""
    for i in range(1,n+1):
        if i != n:
            result += a*i+"+"
        else:
            result += a*i
    return result

 

num_times("a",4)

 

35.求100個隨機數之和,隨機數要求0-9的整數

import random
result = 0
for i in range(1,101):
    result += random.randint(0,9)

print(result)

 

36.要求在屏幕上分別求1到100之間奇數和與偶數和

odd_sum = 0
even_sum = 0
for i in range(1,101):
    if i%2 == 0:
        #print(i)
        odd_sum += i
    else:
        #print(i)
        even_sum += i

print("偶數:%d,奇數:%d"%(odd_sum,even_sum)) 

備注: #格式化輸出方式,之前用的print("偶數:%d,奇數:%d"%odd_sum,%even_sum)),輸出錯誤

 

37.輸入10個數,並顯示最大的數和最小的數

num_list = []
for i in range(10):
    num = input("send a num:")
    num_list.append(float(num))


print(sorted(num_list,reverse = True)[0],sorted(num_list,reverse = True)[-1])

 

38.給一個不多於5位的正整數,要求:1,求他是幾位數,2,逆序打印出每位數字

def num():
    while 1:
        num = input("send a num: ")
        if len(num) <= 5:
            print("這個正整數的位數是:%d"%len(num)#輸出的是個數字
            print("倒序輸出為:%s"%num[::-1])   #輸出的是字符串
            break
        else:
            print("長度超過5位,請重新輸入!")
            continue

num()

 

39.求1000以內所有水仙花數,水仙花數是指一個 3 位數,它的每個位上的數字的 3次冪之和等於它本身。如:1^3+5^3+3^3=153

 

for num in range(100,1000):
    bai = num//100     #   對100取整,得到百位上的數字    "//"取整符號
    shi = num //10 %10    #得到十位上的數字      "%"取余符號
    ge = num % 10    #得到個位上的數字
    if (bai**3+shi**3+ge**3 == num):
        print(num,end=" ")

 

 分析:

取百位:387 // 100 = 3
取百位、十位:387 // 10 = 38
取十位:387 // 10 % 10 =8
取各位:387 % 10 = 7

 

3次冪:2**3=8

 

40.編程求s=1!+2!+3!+....+n!(

方法1:

n = int(input("send a n: "))
jie = 1
result = 0
i = 1
while n >= i:
    jie = jie * i
    print(jie)
    result += jie
    i = i + 1

print(result)

方法2:

def jie(n):
    if n ==1:
        return 1
    else:
        return n*jie(n-1)

n = int(input("send a n: "))
result = 0
for i in range(1,n+1):
    result += jie(i)  

print(result)

 #遞歸,遞歸是一層一層推jie(1) = 1    /jie(2) =  n*jie(n-1)=2*1=2 /   jie(3) =  n*jie(n-1)=3*jie(3-1)=3*jie(2)=3*2=6  ........

 

41.鈔票換硬幣:把一元鈔票換成1分,2分,5分(每種至少一枚),分別有哪些方法

fen1 = 1
fen2 = 2
fen5 = 5
for x in range(1,100):
    for y in range(1,50):
        for z in range(1,20):
            if (x*fen1+y*fen2+z*fen5) == 100*fen1 or (x*fen1+y*fen2+z*fen5) == 50*fen2 or (x*fen1+y*fen2+z*fen5) == 20*fen5:
                print("組合為:一分:%d個, 二分:%d個, 五分:%d個"%(x,y,z))

 

42.自己實現一句話中找某個單詞的算法,存在返回索引號,否則返回false

def find_word(s,word):
    new_s = s.split()
    for i in range(len(new_s)):
        if word == new_s[i] or word == new_s[i][:-1]:
            return i+1   #在列表中是i,但是在句子里的位置是i+1
    else:
        return False

 分析:s[:-1] == s[:-1:]   也就是從最左邊到-1之前的位置

 

43.讀入一個十進制整數,實現十進制轉成二進制算法(自己寫函數)

方法1:

def Dec2Bin(dec):
    result = ""
    if dec:
        result = Dec2Bin(dec //2 )   #遞歸
        return result + str(dec % 2)
    else:
        return result

 

Dec2Bin(31)

方法2:

def dec2bin(string_num):
    num = int(string_num)
    mid = []
    while True:
        if num == 0:
            break
        num, rem = divmod(num, 2) #divmod商和余
        mid.append(rem)
    return ''.join([str(x) for x in mid[::-1]])

 

dec2bin('31')

 

44.打印2000-3000之間被7整除但不被5整除的數,以逗號分隔

num_list = []
for i in range(2000,3001):
    if i % 7== 0 and i % 5 != 0:
        #print(i)
        num_list.append(i)

print(num_list)

 

45.輸出九九乘法表

for i in range(1,10):
    for j in range(1,i+1): #隨着i的變化而變化
        print("%d * %d = %-2d" %(j,i,j*i),end = " ")
    print()

 

46.計算1-1/2+1/3-1/4+...+1/99-1/100+...直到最后一項的絕對值小於10的-5次冪為止

sum = 0
num = 1
while 1:
    if abs(1/num) < pow(10,-5):
        break
    else:
        num += 1

print(num)
for i in range(1,num):
    if i % 2 == 0:
        sum += 1/i
    else:
        sum -= 1/i

 

print(sum)

47.變成將類似"China"這樣的明文譯成密文,密碼規律是:用字母表中原來的字母后面第4個字母代替原來的字母,不能改變其大小寫,如果超出字母表最后一個字母則退回到字母表第一個字母

def print_mingwen_miwen(s):
    result = ''
    for i in s:
        if (i >= 'a' and i<='v') or (i >= 'A' and i<='V'):
            result += chr(ord(i)+4)
        else:
            result += chr(ord(i)-22)
    print(result)

 

s = "China"

print_mingwen_miwen(s)

 

48.輸出以下規律矩陣

 1 2 3 4 5

 2 4 6 8 10

 3 6 9 12 15

 4 8 12 16 20

 

for i in range(1,5):
    for j in range(1,6):
        print(j*i,end = " ")     #end = " "是不換行
    print()   #換行,輸出5個換一行

 

49.對一個列表求和,如列表是[4,3,6]。求和結果是[4,7,13],每一項的值都等於該項的值加上前一項的值

result = 0
new_list = []
list = [4,3,6]
for i in list:
    result += i
    new_list.append(result)

print(new_list)

 

50.一個字符串list,每個元素是一個ip,輸出出現次數最多的ip

def print_ip():
    num_list = ["168.1.1.1","168.1.1.1","168.1.1.2","168.1.1.3"]
    num_dict = {}
    for i in num_list:
        if i not in num_dict.keys():
            num_dict[i] = num_list.count(i)
    for k,v in num_dict.items():
        if v == max(num_dict.values()):
            print("出現次數最多的IP:",k)

備注:max(num_dict.values()) 求values最大值


51.打印100以內的素數(大於1的自然數中,除了1和它本身以外不再有其他因數。)

def is_prime(a):
    for i in range(2,a): #1,a+1都是可以除盡的所以去除
        if a % i == 0:
            return False
            break
        else:
            return True

result = []
for i in range(2,101):
    if is_prime(i):
    result.append(i)

print(result)

 

52.實現一個簡易版的計算器,功能:加、減、乘、除,支持多數同時進行計算

def print_jisuanqi(*agr):
    num = input("請輸入你需要進行的操作,乘法*,除法/,加法+,減法-: ")
    result = 0.0
    if num == '*':
        result = 1
        for i in agr:
            result *=i
    elif num == '/':
        result = 1
        for i in agr:
            result /= i
    elif num == '-':
        result = agr[0]
        for i in agr[1:]:
            result -= i
    elif num == '+':
        for i in agr:
            result += i
    else:
        print("輸入操作符有誤!!")
    print(result)

 

53.有一個數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個序列的前20項之和

def print_qian_ershixiangzhihe():
    num_one = 0
    num_two = 1
    result = 0
    num = 0
    num_result = 0
    for i in range(1,21):
        result = num_one+num_two
        num = num_two + result
        num_result += num/result
        num_one = num_two
        num_two = result
        print("result:",result,'num:',num)
        print(num_result)

 

54.畫等(腰)邊三角形(實心、空心)

實心:

for i in range(6):
    for k in range(5-i):
        print(" ",end=" ")
    for j in range(2+i+1):
        print("*",end=" ")
    print()

空心:

55.畫到等邊三角形

for i in range(1,6):
for j in range(1,6-i):
print(" ",end="")
print("* "*i)

56.畫直角三角形(實心、空心)

實心1:

for i in range(6):
    for j in range(i+1)
        print("*",end=" ")
    print()

實心2:

for i in range(1,6):
    for j in range(1,6-i):
        print(" ",end=" ")
    print("* "*i)

實心3:

for i in range(6):
    for j in range(6-i):
        print("*",end="")

空心:

57.用*號輸出字母C的圖形

 

58.打印N,口,H圖形

 打印口:

def kou(num):
    for i in range(num):
        for j in range(num):
            if j ==0 or j == num-1:
                print("*",end=" ")
            elif i ==0 or i == num-1:
                print("*",end=" ")
            else:
                print(" ",end=" ")
        print()

打印H:

def print_h(num):#只能輸入奇數數字
    for i in range(num):
        for j in range(num):
            if j ==0 or j == num-1:
                print("*",end=" ")
            elif i == (num-1)/2:
                print("*",end=" ")
            else:
                print(" ",end=" ")
        print()

 

59.打印出如圖所示的楊輝三角形,要求可以自定義行數

[1] 
[1, 1] 
[1, 2, 1] 
[1, 3, 3, 1] 
[1, 4, 6, 4. 1] 
[1, 5, 10, 10, 5, 1] 
[1, 6, 15, 20, 15, 6, 1] 
[1, 7, 21, 35, 35, 21, 7, 1] 
[1, 8, 28, 56, 70, 56, 28, 8, 1] 
[1, 9, 36, 84, 126, 126, 84, 36, 9, 1] 

60.打印如圖所示的圖案,要求支持制定行數,但行數必須是奇數行

 

61.要求實現一個函數,該函數用於求2個集合的差集,結果集合中包含所有屬於第一個集合但不屬於第二個集合的元素

def chaList(s1,s2):
    s3 = []
    for item in s1:
        if item not in s2:
            s3.append(item)
    return s3

ps:差集,一直以為是求2個集合中,個元素相減的差集,看了別人寫的才知道是集合中彼此不存在的。還有求並集,交集的。

    如果對需求沒有深入了解,很多問題都會錯誤的解決。傷腦筋!

62.找出一段句子中最長的單詞及其索引位置,以lisit返回

def word_index(str,word):
    str = str.split()
    for i in range(len(str)):
        if str[i] == word:
            print(i)

63.取一個任意小於1 美元的金額,然后計算可以換成最少多少枚硬幣。硬幣有1美分,5 美分,10 美分,25 美分四種。1 美元等於100 美分。舉例來說,0.76 美元換算結果應該是 3 枚25 美分,1 枚1 美分。類似76 枚1 美分,2 枚25 美分+2 枚10 美分+1 枚5 美分+1枚1 美分這樣的結果都是不符合要求的。

def money(money):
    m1 = 1
    m5 = 5
    m10 = 10
    m25 = 25
    for x in range(10):
        for y in range(20):
            for z in range(10):
                for i in range(4):
                    if (x*m1+y*m5+z*m10+i*m25) == money or (x*m1+y*m5+z*m10+i*m25) == money or (x*m1+y*m5+z*m10+i*m25) == money or (x*m1+y*m5+z*m10+i*m25) == money:
                        print("組合為:1分:%d個, 5分:%d個, 10分:%d個,25分的%d個"%(x,y,z,i))

64.寫一個計算器程序 你的代碼可以接受這樣的表達式,兩個操作數加一個運算符:N1 運算符 N2. 其中 N1 和 N2 為整數或浮點數,運算符可以是+, -, *, /, %, ** 分別表示加法,減法, 乘法, 整數除,取余和冪運算。計算這個表達式的結果,然后顯示出來。提示:可以使用字符串方法 split(),但不可以使用內建函數 eval().

def result():
    a = input("send a: ")
    b = input("send b: ")
    operator = input("send a operator: ")
    if int(b) == 0:
        print("被除數不能為0!")
        return None
    elif operator == "+":
        return int(a)+int(b)
    elif operator == "-":
        return int(a)- int(b)
    elif operator == "*":
        return int(a)*int(b)
    elif operator == "/":
        return int(a)/int(b)
    elif operator == "%":
        return int(a)%int(b)
    elif operator == "**":
        return int(a)**int(b)

 

65.返回序列中最大的數

max([1,2,4])
max("1,3,5")
max((1,2,3))




#1.從鍵盤輸入 兩個數,並比較其大小直到e/E退出程序
# 2.將列表元素交替地作為建和值來創字典 、將列表元素交替地作為建和值來創字典
# 3.分別輸出字符 串中奇數坐標和偶的分別輸出字符 串中奇數坐標和偶的分別輸出字符
# 串中奇數坐標和偶的
# 4.將一個字典的 key和value 互換
# 5.將一個多重嵌套的列表元素進行互換,存到另同等維度中例如: [[1,2,3],[4,5,6]]互換后變成[[1,4],[2,5],[3,6]]
# 6.有一個 3 x 4的矩陣,要求編程出其中值最大那個元素以及所在行號和列號,矩陣可以通過嵌套表來模擬
# 7.遞歸實現 嵌套 列表求和
# 8.打印斐波拉契數列前 n項
# 9.檢查 ipV4 的有效性,有效則返回 True,否則返回False (提示使用 split函數進行分 函數進行分 割)
# 10.檢測密碼強度
# c1 : c1 : c1 : 長度 >=8
# c2: c2: 包含數字和母
# c3: c3: 其他可見的特殊字符
# 強:滿足 c1,c2,c3 c1,c2,c3 c1,c2,c3
# 中: 只滿足任一 2個條件
# 弱:只滿足任一 1個或 0個條件
# 11.求兩個集合的交集和並集
# 12.一個包含多數字的列表,請使用隨機方式,將每數字+1 后,生成新列表
# 13.判斷一個字符串是否為回文字符串,所謂回文字符串,就是一個從左到右讀和從右到左讀完全樣的。比如 "level" “aaabbaaa”
# 14.實現合並同類型的有序列表算法,要求不能有重復元素
# 15.不區分大小寫對包含多個字符串象的列表進行排序,顯示排序后的結果還需要顯示大小寫不變的原字符串
# 16.一個數如果恰好等於它的因子之和,這就稱為完數,例如6的因子為1,2,3,而 6=1+2+3,因此6是完數,編程找出 1000 之內的所有完數,並按 6 its factors are 1,2,3 這樣的格式輸出
# 17.使用二分法實現在一個有序列表中查找指定的元素
# 18.分離list1list2 中相同部分 與不中相同部分
# 19.找出一個多維數組的鞍點,即該位置上元素在即該行上最大,該列上最小,也可能沒有鞍點
# 20.寫一個函數,識別輸入字符串是符合 python語法的變量名 (不能數字開頭、 只能使用數字和母以及‘ _’)


# 
# 1、將一個正整數
# 分解質因2、一個字符 串中,分別輸出奇數坐標或偶,奇數 坐標的一行偶坐標的一行
# 3、統計字符串中的母、數
# 其他個4、有一個已經排好序的列表。現輸入數,要求按原來規律將它插中
# 5、統計名字列表中,各的首母在出現次數
# 6、字符替換
# 1)讀入一個字符串
# 2)去掉字符串的前后空格
# 3)如果字符串包含數則 1替換成 a,2替換成 b,3替換成 c,以此類推
# 4)將字符串使用 空格進行切分,存到一個列表然后*號連接,並輸出
# 5)把這些功能封裝到一個函數里面,執行結果作為返回值
# 7、找出字符串中現次數最多的,並輸其位置
# 8、找出一段句子中最長的單詞及其索引位置,以字典返回
# 10、實現字符串的 upper 、lower lower 以及 swapcaseswapcase swapcase swapcase 方法
# 11 、實現字符串的 find 方法
# 12 、實現字符串的 isalpha isalpha isalpha 方法
# 13 、實現字符串的 isdigit isdigit isdigit 方法
# 14 、實現字符串的 isalnum isalnum isalnum 方法
# 15 、實現字符串的 join join 方法
# 16 、實現字符串的 replace replace replace 方法
# 17 、實現字符串的 split split 方法
# 18 、實現字符串的 strip 方法
# 19 、報數問題:有 n個人圍成一圈,順序排號。從 第開始報數(1到3報數) ,凡報到 3的人退出圈子,問最后留下是原來第幾號那位
# 20 、由單個字母組成的 list list ,從鍵盤讀入兩個整數 m、n(n>m ),打印出 list[m,n] list[m,n] list[m,n] 之間 的字母能組成所有 n-m+1 位

1. 基礎題:
# 檢驗給出的路徑是否一個文件:
# 檢驗給出的路徑是否一個目錄:
# 判斷是否絕對路徑:
# 檢驗給出的路徑是否真地存 :
# 2. 返回一個路徑的目錄名和文件
# 3. 分離文件名與擴展
# 4. 找出某個目錄下所有的文件,並在每個文件中寫入“ gloryroad”
# 5. 如果某個目錄下文件名包含 txt后綴名,則把文件后面追加寫一行“被我找到了!”
# 6. 命題練習 :
# 1) 一個目錄下只有文件(自己構造),拷貝幾個文件(手工完成)
# 2)用 listdir 函數獲取所有文件,如果文件創建時間是今天,那么就在里面寫上路徑、 文件名和擴展名
# 3) 如果不是今天創建(獲取文件的創建時間,並轉化為時間格式,判斷是否是今天),請刪除
# 4 )計算一下這個程序的執行耗時
# 7. 刪除某個目錄下的全部文件
# 8. 統計某個目錄下文件數 和目錄數
# 9. 使用程序建立一個多級的 目錄,在每個目錄下,創建一個和目錄名字一樣的txt文件
# 10. 查找某個目錄下是否存在某個文件名
# 11. 用系統命令拷貝文件
# 12. 輸入源文件所在路徑和目標目錄文件,然后實現拷貝功能
# 13. 遍歷某個目錄下的所有圖片,並在圖片名稱后面增加 _xx_xx
# 14 、遍歷指定目錄下的所有文件,找出其中占用空間最大的前 3個文件
# 15 、過濾 py 源碼中的 #注釋,另存為文件 result.py ,並執行result.py,斷言是否執行成功
# 16 、文件訪問,提示輸入數字 N 和文件 F, F, 然后顯示文件 F 的前 N 行.
# 17 、從命令行接受 1個路徑如: c: \a\b\c\1.py, 1.py, 1.py, 實現 1個函數創建目錄 a\b\c, 創建文件 1.py,實現 1個函數刪除已創建的目錄及文件
# 18 、有一個 ip.txt,里面每行是一個 ip , 實現一個函數, ping 每個 ip 的結果,把記錄存到 ping.txt 中,格式為 ip:0或ip:1 ,0代表 ping 成功, 1代表 ping 失敗
# 19 、實現 DOS DOS命令執行功能,接受輸入命令執行,然后把結果和返回碼打印到屏幕
# 20 、文件訪問
# 訪問一存在多行的 文件,實現每隔一秒逐行顯示文本內容程序,每次顯示文件的5 行, 暫停並向用戶提示“輸入任意字符繼續”,按回車鍵后繼續執行,直到文件末尾。
# 顯示文件的格式為:
# [當前時間 ] 一行內容,比如: [2016 -07 -08 22:21:51] 999370this is test



# 1、實現自己的數學模塊 mymath ,提供有 4個函數, 分別為加減乘除在B模塊中調用 A模塊的函數。
# 2、實現自己的字符串模塊 mystr ,里面有方法: isdigit,strip, join,split
# 3、構建一個模塊的層級包
# 4、實現一個除法函數,並處理異常
# 5、引發一個異常,並將它拋除到上層函數捕獲該處理
# 6、實現字符串列表元組和 setset 之間互相轉換
# 7、結合 setset 對象,統計某個 list 出現的重復元素個數
# 8、定義一個 元組 ,向 元組 中添加元素或者修改已有,並捕獲異常
# 9、刪除無重復元組中給定的素 ,並生成一個新元組
# 12 、求一個 n*n 矩陣對角線元素之和
# 13 、輸入一個數組,最大的與第元素 交換小后交換,輸出數組
# 14 、平衡點,一個數組有字左邊所的加起來總和等於 這個數右邊所有字的總和,請輸出以及坐標
# 16 、輸入一個數組,實現函讓所有奇都在偶前面
# 17 、lista=['a','abc','d','fgi','abf'],尋找列表中出現次數最多的第一個 字母,出現了幾次
# 18 、請輸入星期幾的 前兩個 字母 來判斷一下是星期幾,如果第個一樣,則繼續判斷第二個字母
# 19 、有一堆 100 塊的石頭, 2個人輪流隨機從中取 1-5塊,誰取最后一就 誰winwin ,編程實現此過
# 20 、實現一個方法,判斷正整數是 否2的乘方,比如 16 是2的4次方 ,返回 True;18 不是 2的乘方,返回 False 。


# 1、能夠熟練進行字符串列表元組和 setset 之間的轉換。
# 2、結合 setset 對象,統計某個 list 出現的重復元素個數
# 3、定義一個不可變集合, 向中添加元素或者修改已有並捕獲異常
# 4、列出你所有知道的排重方法

# 1、計算程序執行耗時
# 2、將時間字符串轉換為戳
# 3、將格式時間字符 串轉換成元組,然后再自定義的串
# 4、將當前時間戳轉換為指定格式日期
# 5、創建名稱為當前時間 (年月日 )的目錄,在這個下創建名稱為當前時間 (年月日 )的txt文件,並且輸入內容為“你好”
# 6、獲得三天(小時和分鍾)前的間方法
# 7、計算昨天和明的日期
# 8、使用 datetime模塊來獲取當前的日期和時間
 
       


免責聲明!

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



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