• Python练习100则--部分概念的没有做


    以下程序中,所有涉及到函数嵌套程序均可添加函数构造器来添加函数缓存, 具体方式在我的另一条博客中体现:

    为函数迭代添加缓存

    # coding = utf-8

    import math, os
    from random import randint


    def Binary():
    res = int(-1 / 2)
    res1 = int(-1 >> 1)
    print("%d:" % res)
    print("%d:" % res1)
    low = 10
    high = 20
    # 因为指针和迭代器运算不支持相加运算,却支持相减运算,
    # 所以第二种通用性强。(迭代器的话要求是随机访问迭代器random access iterator)。
    mid = low + (high - low) / 2
    mid1 = low + ((high - low) >> 1)
    print("%d" % mid)
    print("%d" % mid1)

    """

    【程序1】
    题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多
    少?
    """


    def mupl():
    # mylist1 = list("1234")
    mylist1 = [1, 2, 3, 4]
    print(mylist1)
    count = 0
    for i in range(1, len(mylist1)):
    for j in range(1, len(mylist1)):
    for z in range(1, len(mylist1)):
    if i == j == z:
    print()
    else:
    print(" %d%d%d" % (i, j, z))
    count += 1
    #
    # for i in mylist1:
    # print(" %d%d%d" % (i, mylist1[i-1], mylist1[i-1]))
    # print(count)


    # li = list((x, y, z) for x in range(1, 4) for y in range(1, 4) for z in range(1, 4))
    # print(li)
    # li.remove((1, 1, 1))
    # li.remove((2, 2, 2))
    # li.remove((3, 3, 3))
    # print(len(li))


    # mupl()
    """
    【程序2】
    题目:企业发放的奖金根据利润提成。利润(I) :
    低于或等于10 万元时,奖金可提10%;
    高于10 万元,低于20 万元时,低于10 万元的部分按10%提成,高于10
    万元的部分,可提成7.5%;
    20 万到40 万之间时,高于20 万元的部分,可提成5%;
    40 万到60 万之间时,高于40 万元的部分,可提成3%;
    60 万到100 万之间时,高于60 万元的部分,可提成1.5%,
    高于100 万元时,
    超过100 万元的部分按1%提成,20

    从键盘输入当月利润I ,求应发放奖金总数?
    """


    def pro():
    rate = [0.1, 0.075, 0.05, 0.03, 0.015, 0.01]
    money = int(input("请输入您的利润:"))
    summ = 0
    if money > 100:
    summ += (money - 100) * rate[5]
    money = 100
    if money > 60:
    summ += (money - 60) * rate[4]
    money = 60
    if money > 40:
    summ += (money - 40) * rate[3]
    money = 40
    if money > 20:
    summ += (money - 20) * rate[2]
    money = 20
    if money > 10:
    summ += (money - 10) * rate[1]
    money = 10
    if money > 0:
    summ += money * rate[0]

    print("总奖金是: %s" % summ)


    """
    【程序3】
    题目:一个整数,它加上100 后是一个完全平方数,再加上168 又是一个完全平方数,
    请问该数是多少?
    """


    # x = 1
    # n = 2
    # y = 3
    # (x + 100) == n ** 2
    # (x + 100 + 168) == y ** 2
    #


    def sqrtnum():
    for i in range(0, 100):
    if math.sqrt(i + 100) % 1 == 0 and math.sqrt(i + 100 + 168) % 1 == 0:
    print(i)


    # sqrtnum()


    """
    【程序4】
    题目:输入某年某月某日,判断这一天是这一年的第几天?
    """


    def countday1():
    year = int(input("请输入年份: "))
    month = int(input("请输入月份: ")) - 1
    day = int(input("请输入日期: "))
    sum_day = day
    is_leap = 0
    if (year % 400 == 0) or (year % 4 == 0 and year % 400 != 0):
    is_leap = 1
    sum_day += is_leap
    lst_day = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    for i in range(month):
    sum_day += lst_day[i]
    print("时间是 %d 年 %d 月 %d 日, %d 年已经过了 %d 天" % (year, month, day, year, sum_day))


    # countday1()
    """

    【程序5】
    题目:输入三个整数x,y,z,请把这三个数由小到大输出。
    """


    def sortnum():
    x, y, z = 1, 30, 6
    minnum = (x if x < y else y) if (x if x < y else y) < z else z
    maxnum = (x if x > y else y) if (x if x > y else y) > z else z
    middnum = z if (x if x < y else y) < (z if z < y else y) else (x if x < y else y)
    print("三个数字从小到大排列:%d %d %d " % (minnum, middnum, maxnum))


    # sortnum()


    """
    【程序6】
    题目:用*号输出字母C的图案。
    """


    def charc():
    print(" ************* ")
    print(" ****** ** ")
    print(" **** ")
    print(" *** ")
    print(" ** ")
    print(" *** ")
    print(" **** ")
    print(" ******* ** ")
    print(" ************* ")
    # for i in range(0.1, 11.0)
    y = 1.0
    x = 0
    m = 0.0

    for y in range(5, -6, -1):
    m = 2.5 * math.sqrt(25 - y ** 2)
    for x in range(1, int(15 - m)):
    print(" " * x + "*", end="")
    print()

    # for (y=10;y >= -10;y--)
    # {m = 2.5 * sqrt(100 - y * y);
    # for (x=1;x < 30-m;x++)
    # printf(" ");
    # printf("* ");
    # }


    # charc()

    """
    【程序7】
    题目:输出特殊图案,请在c 环境中运行,看一看, Very Beautiful!
    【程序8】
    题目:输出9*9 口诀表。
    """


    def ninemup():
    for i in range(1, 10):
    for j in range(1, i + 1):
    print("%d x %d = %2d " % (i, j, i * j), end="")
    print()


    """

    【程序9】
    题目:要求输出国际象棋棋盘。
    【程序10】
    题目:打印楼梯,同时在楼梯上方打印两个笑脸。
    【程序11】
    题目:古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子,小兔子长到
    第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
    """


    def rabbit(month):
    if month == 1:
    count = 1
    elif month == 2:
    count = 1
    else:
    count = rabbit(month - 1) + rabbit(month - 2)
    return count


    def forrabbit(month):
    ralist = [0, ]
    for i in range(1, month + 1):
    print(month)

    if i == 1 or i == 2:
    ralist.append(1)
    else:
    c = ralist[i - 1] + ralist[i - 2]
    ralist.append(c)
    print(ralist)
    return ralist[month]


    def forrabbit2(month):
    one, two, sum = 1, 1, 0
    for i in range(1, month + 1):
    if i == 1 or i == 2:
    sum = 1
    print("i:%d, sum:%d" % (i, sum))
    else:
    sum = one + two
    one, two = two, sum
    print("one:%d, two :%d, sum:%d" % (one, two, sum))
    print("i:%d, sum:%d" % (i, sum))

    return sum


    # month = int(input("请输入月份: "))
    # print("%d个月有%d对兔子" % (month, rabbit(month)))

    # month = int(input("请输入月份: "))
    # # forrabbit(month)
    # print("%d个月有%d对兔子" % (month, forrabbit(month)))

    # month = int(input("请输入月份: "))
    # print("%d个月有%d对兔子" % (month, forrabbit2(month)))
    """
    【程序12】
    题目:判断101-200 之间有多少个素数,并输出所有素数。
    """


    def zhishu(num1, num2):
    my_list = list(x for x in range(num1, num2))
    for i in range(num1, num2):
    for j in range(2, i):
    if i % j == 0:
    my_list.remove(i)
    break
    # print(my_list)
    return my_list


    """
    【程序13】
    题目:打印出所有的“水仙花数” ,所谓“水仙花数”是指一个三位数,其各位数字立
    方和等于该数本身。例如: 153 是一个“水仙花数” ,因为153=1 的三次方+5 的三次方
    +3的三次方。
    """


    def flower():
    for i in range(100, 1000):
    num1 = int(i / 100)
    num2 = int(i % 100 / 10)
    num3 = int(i % 100 % 10)
    if int(num3 ** 3 + num2 ** 3 + num1 ** 3) - i == 0:
    print(i)


    """
    【程序14】
    题目:将一个正整数分解质因数。例如:输入90, 打印出90=2*3*3*5 。
    """


    def nummupl(num1, numstart, numend):
    my_list = zhishu(numstart, numend)
    # print(my_list)
    tmpnum = num1
    num_list = list()
    summ = 1
    for i in range(100):
    if int(summ) == num1 and int(tmpnum) not in my_list:
    # print("sum %d" % summ)
    break
    else:
    for i in my_list:
    # print(i)
    if tmpnum % i == 0:
    num_list.append(i)
    tmpnum /= i
    summ *= i

    # print(sorted(num_list))
    return num_list


    # numstart = int(input("从数字开始:"))
    # numend = int(input("从数字结束"))
    # nummupl(int(input("数字")), numstart, numend)
    """
    【程序15】
    题目:利用条件运算符的嵌套来完成此题:学习成绩>=90 分的同学用A表示, 60-89 分
    之间的用B表示, 60 分以下的用C表示。
    """


    def score():
    score = int(input("请输入分数"))
    info = "A" if score >= 90 else "B" if score >= 60 else "C"
    print(info)


    """
    【程序17】
    题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
    """


    def strcount():
    string = input("请输入字符")
    numcount = 0
    strcount = 0
    elsecount = 0
    spacecount = 0
    for i in string:
    if i.isdigit():
    numcount += 1
    elif i.isalnum():
    strcount += 1
    elif i.isspace():
    spacecount += 1
    else:
    elsecount += 1
    print("英文字母:%d , 空格:%d, 数字:%d, 其他字符:%d" % (strcount, spacecount, numcount, elsecount))


    """
    【程序18】
    题目: 求s=a + aa + aaa + aaaa + aa...a 的值, 其中a 是一个数字。例如
    2+22+222+2222+22222(此时,共有5 个数相加) ,几个数相加有键盘控制。
    """
    sumc = 0


    def numsum(count):
    numc = 0
    global sumc
    if count == 1:
    numc = 2
    sumc += 2
    else:
    numc += numsum(count - 1) * 10 + 2

    sumc += numc
    return numc


    # print(numsum(int(input("请输入数字个数"))))
    # print(sumc)
    """
    【程序19】
    题目:一个数如果恰好等于它的因子之和,这个数就称为“完数” 。例如6=1+2+3。编
    程找出1000 以内的所有完数。
    """
    # 因子如何算

    # def finishnum():
    # for i in range(2, 10):
    # num_list = nummupl(i, 2, i)
    # print(num_list)
    # sumnum = 1
    # for j in num_list:
    # sumnum += j
    # if sumnum == i:
    # print("%d 是完数," % i)
    # print(num_list)

    # finishnum()
    """
    【程序20】
    题目:一球从100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
    第10 次落地时,共经过多少米?第10 次反弹多高?
    """


    def ballheight():
    height = 100
    for i in range(10):
    height /= 2
    print(height)
    print(height)


    """
    【程序21】
    题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃
    了一个第二天早上又将剩下的桃子吃掉一半, 又多吃了一个。以后每天早上都吃了前一
    天剩下的一半多一个。到第10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘
    了多少
    """


    def peacheat(day):
    count = 1
    if day == 10:
    count = 1
    else:
    count = (peacheat(day + 1) + 1) * 2
    return count


    # coun = peacheat(int(input("输入天数")))
    # print(coun)
    """
    【程序22】
    题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c 三人,乙队为x,y,z 三人。已
    抽签决定比赛名单。有人向队员打听比赛的名单。a 说他不和x 比,c 说他不和x,z 比,
    请编程序找出三队赛手的名单。
    """


    def race():
    alist = ['a', 'b', 'c']
    blist = ['x', 'y', 'z']
    slist = list()
    for i in alist:
    for j in blist:
    slist.append([i, j])
    slist.remove(["a", "x"])
    slist.remove(["c", "x"])
    slist.remove(["c", "z"])

    print(slist)


    # slist = list([y, x] for x in ('xyz') for y in ('abc'))
    # slist.remove(["a", "x"])
    # slist.remove(["c", "x"])
    # slist.remove(["c", "z"])
    # print(slist)

    # race()
    """
    程序23】
    题目:打印出如下图案(菱形)
    """


    def ling():
    count = 1
    while count < 10:
    if count <= 5:
    print(" " * (5 - count) + "*" * count + "*" * (count - 1))
    else:
    print(" " * (count - 5) + "*" * (10 - count) + "*" * (10 - count - 1))
    count += 1


    """
    【程序24】
    题目:有一分数序列: 2/1 ,3/2 ,5/3 ,8/5 ,13/8 ,21/13... 求出这个数列的前20 项
    之和。
    """


    def numlist(num1):
    summcount = 0
    if num1 == 1:
    summcount = 1
    elif num1 == 2:
    summcount = 2
    else:
    summcount = numlist(num1 - 1) + numlist(num1 - 2)
    return summcount


    def sumnumlist():
    summcount = 0.0
    for i in range(1, 5):
    num1 = numlist(i + 1)
    num2 = numlist(i)
    summcount += num1 / num2
    print("%.2f" % summcount)


    """
    【程序25】
    题目:求 1+2!+3!+...+20! 的和
    """


    def multi(num1):
    if num1 == 1:
    return 1
    else:
    return multi(num1 - 1) * num1


    # print(multi(4))


    def summulti():
    summcount = 0
    for i in range(1, 5):
    summcount += multi(i)
    print(summcount)


    # summulti()


    """
    【程序26】
    题目:利用递归方法求 5! 。
    """
    # print(multi(5))
    """
    【程序27】
    题目:利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来。
    """
    str_list = list("abcde")


    def iterstr(str_list, num1):
    if num1 == 0:
    return str_list[num1]
    else:
    return str_list[num1] + iterstr(str_list, num1 - 1)


    # print(iterstr(str_list, len(str_list) - 1))

    """
    【程序28】
    题目:有 5 个人坐在一起,问第五个人多少岁?他说比第4 个人大2 岁。问第4 个人岁
    数,他说比第3 个人大2 岁。问第三个人,又说比第2 人大两岁。问第2 个人,说比第
    一个人大两岁。最后问第一个人,他说是10 岁。请问第五个人多大?
    """


    def age(num1):
    if num1 == 1:
    return 10
    else:
    return age(num1 - 1) + 2


    # print(age(5))
    """
    【程序29】
    题目:给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数
    字。
    """
    num1 = 1234
    str_num = str(num1)
    str_len = len(str_num) - 1


    def sortnum(str_num, str_len):
    if str_len == 0:
    return str_num[str_len]
    else:
    return str_num[str_len] + sortnum(str_num, str_len - 1)


    # print(int(sortnum("1234", 3)))
    """
    【程序30】
    题目:一个5 位数,判断它是不是回文数。即12321 是回文数,个位与万位相同,十位
    与千位相同。
    """


    def palindromenum(num1):
    for i in range(int((len(num1) - 1) / 2)):
    if num1[i] != num1[len(num1) - 1 - i]:
    print("不相等")
    break
    else:
    print("%s是回文数" % num1)


    # palindromenum('1234554321')

    # 斐波那契数列

    # 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, Done
    def fib(maxnum):
    n, a, b = 0, 0, 1
    while n < maxnum:
    print(b, end=', ')
    a, b = b, a + b
    n = n + 1
    return 'Done'


    # 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, D, o, n, e,

    def fibgen(maxnum):
    n, a, b = 0, 0, 1
    while n < maxnum:
    yield b # 执行中断,下次又继续执行, yield标志着generator
    a, b = b, a + b
    n = n + 1
    return 'Done'


    def fibtest():
    print(fib(10))
    print()
    f = fibgen(10)
    for v in f:
    print(v, end=', ')

    print('=' * 10)


    # fibtest()
    # 杨辉三角

    def triangles():
    li = list(list())
    # print(li)
    for i in range(1, 10):
    list1 = []
    for j in range(1, (i + 1)):
    if j == i or j == 1:
    list1.append(1)
    else:
    if i > 2 and j > 1:
    ret = li[i - 2][j - 1] + li[i - 2][j - 2]
    list1.append(ret)
    else:
    list1.append(1)
    li.append(list1)
    print(list1)


    # triangles()

    """


    【程序31】
    题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续
    判断第二个字母。
    """


    def week():
    week_list = ['mon', 'tues', 'wed', 'thur', 'fri', 'sat', 'sun']
    while True:
    week = input("输入字母: ")
    for v in week_list:
    if week == v[:len(week)]:
    print(v)

    flag = input("是否继续 y/n ")
    if flag.lower() != 'y':
    break


    """

    【程序32】
    题目: Press any key to change color, do you want to try it. Please hurry up!
    【程序33】
    题目:学习gotoxy() 与clrscr() 函数。
    【程序34】
    题目:练习函数调用
    【程序35】
    题目:文本颜色设置
    【程序36】
    题目:求100 之内的素数
    """


    def nums():
    arr1 = list()
    # print(arr)
    for i in range(1, 101):
    for j in range(1, i):
    if i % j == 0 and j != 1:
    break
    else:
    if i == j + 1:
    arr1.append(i)

    print(arr1)


    """
    【程序37】
    题目:对10 个数进行排序
    """


    def numssort():
    nums_list = [randint(0, 100) for x in range(10)]
    for i in range(0, len(nums_list)):
    for j in range(i + 1, len(nums_list)):
    if nums_list[i] > nums_list[j]:
    nums_list[i], nums_list[j] = nums_list[j], nums_list[i]
    print(nums_list)

    nums_list = [randint(0, 100) for x in range(10)]
    for i in range(0, len(nums_list)):
    for j in range(0, len(nums_list) - i - 1):
    if nums_list[j] > nums_list[j + 1]:
    nums_list[j], nums_list[j + 1] = nums_list[j + 1], nums_list[j]

    print(nums_list)
    # return nums_list


    """
    【程序38】
    题目:求一个3*3 矩阵对角线元素之和
    【程序39】
    题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
    """


    def sortinsert():
    nums_list = [8, 9, 10, 14, 15, 40, 44, 54, 57, 81]
    lens = int(len(nums_list))
    print(nums_list[lens - 1])
    xnum = int(input("请输入数字:"))
    tmp = 0
    for i in range(lens - 1):
    if nums_list[i] <= xnum and xnum <= nums_list[i + 1]:
    nums_list.insert(i + 1, xnum)
    break
    elif nums_list[0] > xnum:
    nums_list.insert(0, xnum)
    break
    elif nums_list[lens - 1] < xnum:
    nums_list.insert(lens, xnum)
    break
    print(nums_list)


    """
    【程序40】
    题目:将一个数组逆序输出。
    """


    def reversearray():
    nums_list = [8, 9, 10, 14, 15, 40, 44, 54, 57, 81]
    # print(sorted(nums_list, reverse=True))
    for i in range(len(nums_list)):
    print(nums_list[len(nums_list) - i - 1], end=' ')


    """
    【程序41】
    题目:学习static 定义静态变量的用法
    【程序42】
    题目:学习使用auto 定义变量的用法
    【程序43】
    题目:学习使用static 的另一用法。
    【程序44】
    题目:学习使用external 的用法。
    【程序45】
    题目:学习使用register 定义变量的方法。
    【程序46】
    题目:宏#define 命令练习(1)
    【程序47】
    题目:宏#define 命令练习(2)
    #include "stdio.h"
    #define exchange(a,b) { /* 宏定义中允许包含两道衣裳命令的情形,此时必须在最右
    边加上""*/
    int t;
    t=a;
    a=b;
    b=t;
    }'
    这个宏定义python 不支持
    【程序48】
    题目:宏#define 命令练习(3)
    1. 程序分析:
    2. 程序源代码:
    #define LAG >
    #define SMA <
    #define EQ ==
    #include "stdio.h"
    void main()
    {
    int i=10;
    int j=20;
    if(i LAG j)
    printf("40: %d larger than %d ",i,j);
    else if(i EQ j)
    printf("40: %d equal to %d ",i,j);
    else if(i SMA j)
    printf("40:%d smaller than %d ",i,j);
    else
    printf("40: No such value. ");
    }
    不知道如何用python 实现类似的功能
    【程序49】
    题目: #if #ifdef 和#ifndef 的综合应用。
    1. 程序分析:
    2. 程序源代码:
    #include "stdio.h"
    #define MAX
    #define MAXIMUM(x,y) (x>y)?x:y
    #define MINIMUM(x,y) (x>y)?y:x
    void main()
    {
    int a=10,b=20;
    #ifdef MAX
    printf("40: The larger one is %d ",MAXIMUM(a,b));
    #else
    printf("40: The lower one is %d ",MINIMUM(a,b));
    #endif
    #ifndef MIN
    printf("40: The lower one is %d ",MINIMUM(a,b));
    #else
    printf("40: The larger one is %d ",MAXIMUM(a,b));
    #endif
    #undef MAX
    #ifdef MAX
    printf("40: The larger one is %d ",MAXIMUM(a,b));
    #else
    printf("40: The lower one is %d ",MINIMUM(a,b));
    #endif
    #define MIN
    #ifndef MIN
    printf("40: The lower one is %d ",MINIMUM(a,b));
    #else
    printf("40: The larger one is %d ",MAXIMUM(a,b));
    #endif
    }
    这个还是预处理的用法, python 不支持这样的机制,演示lambda 的使用。
    【程序50】
    【程序51】
    题目:学习使用按位与 & 。
    【程序52】
    题目:学习使用按位或 | 。
    【程序53】
    题目:学习使用按位异或 ^ 。
    【程序54】
    题目:取一个整数a 从右端开始的4~7位。
    【程序55】
    题目:学习使用按位取反~。
    【程序56】
    题目:画图,学用circle 画圆形。
    【程序57】
    题目:画图,学用line 画直线。
    【程序58】
    题目:画图,学用rectangle 画方形。
    【程序59】
    题目:画图,综合例子。
    【程序60】
    题目:画图,综合例子。
    1. 程序分析:
    2. 程序源代码:
    键盘不知道如何响应,先不写这个
    #include "graphics.h"
    #define LEFT 0
    #define TOP 0
    #define RIGHT 639
    #define BOTTOM 479
    #define LINES 400
    #define MAXCOLOR 15
    main()
    {
    int driver,mode,error;
    int x1,y1;
    int x2,y2;
    int dx1,dy1,dx2,dy2,i=1;
    int count=0;
    int color=0;
    driver=VGA;
    mode=VGAHI;
    initgraph(&driver,&mode,"");
    x1=x2=y1=y2=10;
    dx1=dy1=2;
    dx2=dy2=3;
    while(!kbhit())
    {
    line(x1,y1,x2,y2);
    x1+=dx1;y1+=dy1;
    x2+=dx2;y2+dy2;
    if(x1<=LEFT||x1>=RIGHT)
    dx1=-dx1;
    if(y1<=TOP||y1>=BOTTOM)
    dy1=-dy1;
    if(x2<=LEFT||x2>=RIGHT)
    dx2=-dx2;
    if(y2<=TOP||y2>=BOTTOM)
    dy2=-dy2;
    if(++count>LINES)
    {
    setcolor(color);
    color=(color>=MAXCOLOR)?0:++color;
    }
    }
    closegraph();
    }
    【程序61】
    题目:打印出杨辉三角形(要求打印出10 行)
    """

    """
    【程序62】
    题目:学习putpixel 画点。
    #include "stdio.h"
    #include "graphics.h"
    main()
    {
    int i,j,driver=VGA,mode=VGAHI;
    initgraph(&driver,&mode,"");
    setbkcolor(YELLOW);
    for(i=50;i<=230;i+=20)
    for(j=50;j<=230;j++)
    putpixel(i,j,1);
    for(j=50;j<=230;j+=20)
    for(i=50;i<=230;i++)
    putpixel(i,j,1);
    }
    【程序63】
    题目:画椭圆ellipse
    【程序64】
    题目:利用ellipse and rectangle 画图。
    【程序65】
    题目:一个最优美的图案。
    【程序66】
    题目:输入3 个数a,b,c ,按大小顺序输出。
    【程序67】
    题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
    【程序68】
    题目:有n 个整数,使其前面各数顺序向后移m 个位置,最后m个数变成最前面的m
    个数
    【程序69】
    题目:有n 个人围成一圈,顺序排号。从第一个人开始报数(从1 到3 报数),凡报到3
    的人退出圈子,问最后留下的是原来第几号的那位。
    【程序70】
    题目: 写一个函数, 求一个字符串的长度, 在main 函数中输入字符串, 并输出其长度。
    【程序71】
    题目:编写input() 和output() 函数输入,输出5 个学生的数据记录。
    【程序72】
    题目:创建一个链表。
    【程序73】
    题目:反向输出一个链表。
    【程序74】
    题目:连接两个链表。
    【程序75】
    【程序76】
    题目:编写一个函数,输入n 为偶数时,调用函数求1/2+1/4+...+1/n , 当输入n 为奇数
    时,调用函数1/1+1/3+...+1/n ( 利用指针函数)
    【程序77】
    题目:填空练习(指向指针的指针)
    【程序78】
    题目:找到年龄最大的人,并输出。请找出程序中有什么问题。
    【程序79】
    题目:字符串排序。
    【程序80】
    题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了
    一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分
    成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只
    猴子都是这样做的,问海滩上原来最少有多少个桃子?
    """


    def peachless(nums):
    for i in range(5):
    nums = nums * 5 + 1
    print(nums)


    # peachless(1)

    """
    【程序81】
    题目: 809*??=800*??+9*?? 其中 ??代表的两位数, 8*?? 的结果为两位数, 9*?? 的
    结果为3 位数。求??代表的两位数,及809*?? 后的结果。
    """


    def knownums():
    for i in range(10, 100):
    flag1 = i * 809 == 800 * i + 9 * i
    flag2 = 99 >= 8 * i >= 10
    flag3 = 999 >= 9 * i >= 100
    if flag1 and flag2 and flag3:
    print(809 * i)
    print(i)
    # break


    """
    【程序82】
    题目:八进制转换为十进制
    【程序83】
    题目:求0—7 所能组成的奇数个数。
    【程序84】
    题目:一个偶数总能表示为两个素数之和。
    【程序85】
    题目:判断一个素数能被几个9 整除
    【程序86】
    题目:两个字符串连接程序
    【程序87】
    题目:回答结果(结构体变量传递)
    【程序88】
    题目:读取7 个数( 1—50)的整数值,每读取一个值,程序打印出该值个数的*。
    【程序89】
    题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,
    加密规则如下:
    每位数字都加上5, 然后用和除以10 的余数代替该数字,再将第一位和第四位交
    换,第二位和第三位交换
    """


    def numpwd():
    nums = int(input("请输入四位数: "))
    thousand = int(nums / 1000)
    hundred = int(nums / 100 % 10)
    ten = int(nums / 10) % 10
    one = nums % 10
    print(thousand, hundred, ten, one)
    thousand = (thousand + 5) % 10
    hundred = (hundred + 5) % 10
    ten = (ten + 5) % 10
    one = (one + 5) % 10

    nums2 = one * 1000 + ten * 100 + hundred * 10 + thousand
    print(nums2)


    """。
    【程序90】
    题目:专升本一题,读结果。
    if __name__ == '__main__':
    M = 5
    a = [1,2,3,4,5]
    i = 0
    j = M - 1
    while i < M:
    a[i],a[j] = a[j],a[i]
    print a
    i += 1
    j -= 1
    for i in range(5):
    print a[i]
    # """
    # if __name__ == '__main__':
    # M = 5
    # a = [1,2,3,4,5]
    # i = 0
    # j = M - 1
    # while i < M:
    # a[i], a[j] = a[j], a[i]
    # print(a)
    # i += 1
    # j -= 1
    # for i in range(5):
    # print(a[i])
    """

    【程序91】
    题目:时间函数举例1
    【程序92】
    题目:时间函数举例2
    【程序93】
    题目:时间函数举例3
    【程序94】
    题目:时间函数举例4, 一个猜数游戏,判断一个人反应快慢。(版主初学时编的)
    【程序96】
    题目:计算字符串中子串出现的次数
    """


    def strcount():
    str1 = "aaaaaasss"
    str2 = "aa"
    nums = str1.count(str2)
    print(nums)


    """
    【程序97】
    题目:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。
    """


    def writefile():
    f = open("python23/gailun.txt", "a")
    while True:
    str = input("请输入保存的字符: ")
    if str == "#":
    break
    else:
    f.write(str)
    f.flush() # 更新

    f.close()


    """
    【程序98】
    题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘
    文件“ test ”中保存。输入的字符串以!结束。
    """


    def upperstr():
    str = input("请输入字符").upper()
    f = open('python23/gailun.txt', 'w')
    f.write(str + "!")
    f.close()


    """
    【程序99】
    题目: 有两个磁盘文件A 和B,各存放一行字母, 要求把这两个文件中的信息合并(按字母
    顺序排列),输出到一个新文件C中。
    """


    def fileIO():
    f = open("python23/gailun.txt", "r")
    f1 = open("python23/gailun1.txt", "r")
    lines = f.readlines()
    lines1 = f1.readlines()
    f.close()
    f1.close()
    lines_str = str(lines[0] + lines1[0])
    lines_str_li = list(lines_str)
    lines_str_li.sort()
    f2 = open("python23/gailun2.txt", "w")
    f2.write(str(lines_str_li))
    f2.close()

  • 相关阅读:
    ASCII,Unicode,UTF
    C#值类型和引用类型2
    C#中使用Foreach
    CSS基础(2)
    CSS基础
    HTML基础
    MySQL高级
    MySQL和Python交互案例练习(2)
    MySQL和Python交互案例练习(1)
    外键SQL语句的编写
  • 原文地址:https://www.cnblogs.com/LinuxSuDa/p/8182397.html
Copyright © 2020-2023  润新知