zoukankan      html  css  js  c++  java
  • 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: ac1.py, 1.py, 1.py, 实现 1个函数创建目录 ac, 创建文件 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模块来获取当前的日期和时间
    
    


    一切技术都是为业务服务,脱离业务的技术一文不值!

  • 相关阅读:
    asp.net过滤数据中有异常数据字符串
    微信内置浏览器的 User Agent的判断
    最近突然想了很久还是开博每天写点什么
    Sonar-scanner 插件配置应用
    存clob的值
    动态代理
    在oracle函数中不可直接将变量作为sql语句中的参数
    按照行、列进行统计(按两个维度进行统计)
    查询关联不上的数据,三张表查询
    前台页面——js/jq循环
  • 原文地址:https://www.cnblogs.com/bubutianshu/p/10280067.html
Copyright © 2011-2022 走看看