Python 总结题目

Python 总结题目,第1张

概述  题例1 # 打印如下长方形:************ * ** *************# 打印如下长方形:print("*****************")print("* *")print("* *")print("*****************") 题例

 

题例1
# 打印如下长方形:************ *          **          *************# 打印如下长方形:print("*****************")print("*               *")print("*               *")print("*****************")
题例2
# 中国古代的秤是16两一斤,请问古代的216两是古代的几斤几两?#    写程序打印出来all_liang = 216jin = all_liang // 16  # 得到古代的斤liang = all_liang % 16 # 得到古代的两print(all_liang,"是古代的",jin,"",liang,"")
题例3
# 从凌晨0:0:0 计时,到现在已经过了 63320秒,请问现在是几时,几分,几秒,写程序打印出来#    (提示:用地板除和求余实现)# 计算时分秒h = 63320 // 60 // 60 # 小时f = 63320 // 60 % 60 # 分钟m = 63320 % 60 #print(h,"小时",f,"分钟",m,"") 
题例4
# 温度转换:# 摄氏温度 = 5.0 / 9.0 * (华氏温度-32)# 开氏温度 = 摄氏温度 + 273.15# 问:#    100华氏温度转为摄氏温度是多少度,转为开氏温度是多少度?# 方法1huashi = 100sheshi = 5.0 / 9.0 *(huashi - 32)print(huashi,"华氏度等于",sheshi,"摄氏度")kaishi = sheshi + 273.15print(huashi,kaishi,"开氏度")# 方法2# 稳定转换s = 5.0 / 9.0 * (100-32)k = s + 273.15s = s // 1     # s = round(s,1)k = k //1      # k = round(k,1)print("摄氏温度",s,"")print("开氏温度",k,"")
题例5
# 北京出租车计价程序#    收费标准:#    3公里以内收费13元#    基本单价 2.3元/公里(超出3公里以外)#    空驶费:超过15公里后,每公里加单价的50%空驶费(即:15公里后为 3.45元/公里)#    要求:#    输入公里数,打印出费用金额(以元为单位,精确到分,分以后四舍五入)km = float(input("请输入公里:"))if 1<= km <=3:    print("收取费用:13元")    elif km >15:        d = (km-15)*3.45 + 13 + 2.3 * 12 # 超过15里必须涨价,没有超过15公里不涨价        d = round(d,2)        print("消费费用:",d,"")    elif km<=0:        print("请重新输入!")    else:        s = (km-3)*2.3 + 13         s = round(s,2)        print("消费金额","")
题例6
# 写程序,任意给出三个数,打印出三个数中最大的一个数a = int(input("请输入第一个数字:"))b = int(input("请输入第二个数字:"))c = int(input("请输入第三个数字:"))# 改进算法:# 先假设第一个最大,用变量绑定zuIDa = a if b > zuIDa:    zuIDa = bif c > zuIDa:    zuIDa=cprint("最大数是:",zuIDa)
题例7
# BMI 指数(Body Mass Index) 又称身体质量指数# BMI值计算公式: BMI = 体重(公斤)/身高的平方(米)#    如:#    一个69公斤的人,身高是173公分#    BMI =  69 / 1.73 ** 2  得 23.05#    标准表:#    BMI < 18.5 体重过轻#    18.5 <= BMI < 24 正常范围#    BMI > 24 体重过重#    输入身高和体重,打印出BMI的值,并打印出体重状况s = float(input("请输入身高:"))t = float(input("请输入体重:"))bmi = t / s ** 2bmi = round(bmi,2)if bmi <= 18.5:    print(bmi,"体重过轻")elif 18.5<=bmi<24:    print("BMI是:",bmi,"正常范围")else:    bmi > 24    print("BMI是:","体重过重")
题例8
# 给出一个年份,判断是否为闰年并打印# 规则:#    每四年一闰,每百年不闰,每四百年有闰# 如:#    2016年 闰年#    2100年 不是闰年#    2400年 是闰年#    输入一个年份,打印这一年是否是闰年 y = int(input("请输入月份:"))# 方法1 # 能被400整除或能被4整除但不能被100整除if yue % 400 == 0 or (y % 4 == 0 and y % 100 !=0):    print("是闰年")else:    print("不是闰年")# 方法2if y % 400 == 0:    print("是闰年")elif y % 100 ==0:    print("不是闰年")elif y % 4 ==0:    print("是闰年")else:    print("不是闰年")# 方法3 z = yue % 4 == 0y = yue % 400 == 0x = yue % 100 != 0if (z and y)or x:    print("是闰年")else:    print("不是闰年")
题例9
# 输入一个字符串,把输入的字符串中的空格全部去掉,打印出处理后的字符串的长度和字符串的内容  s = input("请输入字符串:")d = s.replace(" ","")print("长度是:",len(d),"字符串内容:",d)
题例10
# 输入三行文字,让这三行文字在一个方框居中显示#    (注:不要输入中文)#    如输入:#    hello!#    I‘m studing python!#    I like python!#    打印如下:#    +---------------------+#    |      hello!       |#    | Im studing python  |#    |   I like python     |#    +---------------------+ a = input("请输入第一个文字:")b = input("请输入第二个文字:")c = input("请输入第三个文字:")s = max(len(a),len(b),len(c))line = "+-"+"-"*s+"-+"print(line)print("| "+a.center(s)+" |")print("| "+b.center(s)+" |")print("| "+c.center(s)+" |")print(line)
题例11
# 1.打印0~30 范围内的所有偶数(能被2整除的数)
# 方法1i = 0while i <=30: if i % 2 == 0: print(i,end=" ") i += 1print()# 方法2i = 0while i <= 30: print(i,end=" ") i+=2print()
题例12
# 2.写程序用while 语句生成如下的字符串,并打印出来# 1) "ABCD.............XYZ"# 2)  "AaBbCcDd.......XxYyZz"# 方法1i = ord("A")d = ord("a")while i <=ord("Z"):    print(chr(i),end="")    print(chr(d),end=" ")    d += 1    i += 1print()# 方法2d = ord("a")-1for x in range(ord("A"),ord("Z")+1):    d = d + 1    print(chr(x),end=" ")print()
题例13
# 3.写程序求:#    1/1 + 1/3 + 1/5 + 1/7 + .....+1/99 的和# 方法1i = 1he=0while i <=99:    he = he + 1/i    i = i + 2print(he)

# 方法2
s = 0
fenmu = 1
while fenmu <= 99:
  s += 1/fenmu
fenmu += 2
print(s)
题例14
# 4.写程序求:#  1/1 - 1/3 + 1/5 - 1/7 + ..... +(+1)1/(2*n-1)的和#  1)求当n取1000000时这个算式的和#  2)求当n取1000000时这个算式的和乘4时多少#     (答案:3.1415....)# 问题 1while i <= 1000000:    he = he + 1/(2*i-1)*d    d = d * (-1)        i+=1print(he)print(4*he)# 问题 2s = 0 #累加和n = 1 #分母sign = 1 #符号while n <= 1000000:    s += sign * 1 / (2*n-1)    sign *= -1 # 改变符号的正负    n += 1print(s)print(s*4) #3.1415
题例15
# 5.打印九九乘法表 (需用到循环嵌套)# 1x1=1# 1x2=2  2x2=4# 1x3=3  2x3=6 3x3=9# ....# 1x9=9....................... 9x9=81i = 1while i<=9:    ji = 1    while ji <=i:        p = ji * i        print(ji,"x",i,"=",p,end="   ")        ji += 1    print()    i+=1# 第一重循环控制行数y = 1while y<=9:    # 此处打印一行订内容,每行打印y个乘法    x = 1    while x <= y:    #打印x *y的一列        print("%dx%d=%-2d"%(x,y,x*y),end=" ")        x += 1    print() #换行    y+=1
题例16
# 练习:#    1.输入一个整数,代表树干的高度,打印如下一颗“圣诞树”#     如:#    请输入:2#     打印#      * #     ***#      * #      *#     如:#    请输入:3#     打印#      *#     ***#    *****#      *#      *#      *# 方法1n = int(input("请输入一个整数:"))i = 1while i <= n:    s = "*"*(2*i-1)    d = (2*n-1)    print(s.center(d))    i+=1w = 1while w <=n:    print("*".center(d))    w += 1# 方法2n = int(input("请输入一个整数:")) # 打印树冠部分d = (2*n-1)  # d 代表树冠最大下层叶子的星号个数for x in range(1,n+1): # x line 代表行号    s = "*"*(2*x-1)    print(s.center(d))# 打印树干部分for r in range(1,n+1):    print("*".center(d))for _ in range(n):    print(" "*(n-1)+"*")
题例17
# 2.写一个程序,任意输入一个整数,判断这个数是否是素数(prime)#    打印结果#    素质(也质数),只能被1和自身除的正整数#    如: 2 3 5 7 11 13 17 19 .....#    提示:#    用排除法,当判断x是否素数时,只要让x分别除以 2,3,4,5,...x-1,只要有一个能被整除,则x不是素数#    否则x为素数x = int(input("请输入一个整数:"))if x<2:    print("不是素数")else:    # 判断x不是素数    for s in range(2,x):
    if x % s == 0: #整除      print("不是素数")      break # 能不能在此知道x是否为素数? else: print("是素数")
题例18
# 3. 输入三行,将这三行文字  保存于一个列表L中,并打印#     如:#        请输入:ABC#        请输入:123#        请输入:你好#    生成如下列表并打印:#    print(L)   # ["ABC","123","你好"] # 方法 1l = []while True:    n = int(input("请输入文字:"))    if n < 0:        break    l += [n]print(l)
题例19
# 练习:# 1. 已知有一个字符串:# s = "100,200,300,500,800"# 将其转化为列表,列表内都为整数,即:# L = [100,800]s = "100,800"l = s.split(",")d =[]for x in l:    d = d + [int(x)]print(d,end=" ")print()s = "100,800"l2 = s.split(",") #[‘100‘,‘200‘,‘300‘,‘500‘,‘800‘]l = [int(x)for x in l2]print(l)
题例20
# 2. 将一些数存于列表中,如:#    L = [1,2,1,6,2,.....,98,82]#    1)将列表中出现的数字存入到另一个列表L2中#     要求:#     重复出现多次的数只在L2列表中保留一份(去重)#    2)将列表中出现两次的数字存于L3列表中,在L3列表中只保留一份# 问1l = [1,98,82]l2 = []l3 = []for x in l:    if l2.count(x)==0:        l2.append(x)    if l.count(x)==2 and l3.count(x)==0:        l3 +=[x]print(l2)print(l3)# 问2l = [1,82]l2 =[]l3 = []for x in l:    if x not in l2:        l2.append(x)    if l.count(x) == 2 and x not in l3:        l3.append(x)print("L2 =",l2)print("L3 =",l3)
题例21
# 3. 生成前40个斐波那契数(Fibonacci)#    1 1 2 3 5 8 13 21#    要求: 将这些数保存在列表中,最后打印这些数#    注: 斐波那契数的前2个数为1 和 1 ,从第二个数起为前两个数相加之和# 方法1:l = []a = 0 # a 表示第一个数的前一个数b = 1 # b 表示第一个数while len(l)<40:  # 每次把b加入到列表中  l.append(b)  # 在算出下一个fibonacci数,存于b中  c = a+b #算数下一个数  a = b # 把当前作为前一个数  b = c # 把新算出来的c交给bprint(l)print(len(l))# 方法2l=[1,1]while len(l) < 40:    # 每次生成,加进列表上    l.append(l[-1]+l[-2])print(l)print(len(l))
题例22
# 1.思考下面的程序的执行结果是什么?为什么?L = List(range(10))for x in L:    L.remove(x)    print("L= ",L) # 请问是空列表么?# 2.输入一些单词和解释,将单词作为键,将解释作为值,存入字典中,当输入单词或解释为空是停止输入,并打印这个字典#    然后,输入查询的单词,给出单词的内容,如果单词不存在则提示:#    查无此词d = {}  # 创建一个空字典准备存储数据while True:    a = input("请输入单词:")    if not a:  # 如果a空字符串,则退出        break    b = input("请输入解释:")    if not b:        break    d[a] = b    # 走到此处,说明a ,b都绑定了正确订值print(d)print("-------------以下开始查询单词---------------")while True:    c = input("请输入查询单词:")    if not c:        break    if c in d:        print(d[c])    else:        print("查无单词")
题例23
# 3.<<学生信息管理项目>># 输入任意个学生的姓名,年龄,成绩,每个学生的信息存入字典,然后放入列表中,每个学生的信息需要手动输入,当输入姓名为空时#    结束输入#    如:#    请输入姓名:tarena#    请输入年龄:20#    请输入成绩:99#    请输入姓名:name2#    请输入年龄:18#    请输入成绩:88#    请输入姓名:<回车>  结束输入#    内部存储格式如下:#    [{"name":"tarena","age":20,"score":99}#    {"name":"tame","age":18,"score":88}]#    打印上述此列表#    然后再用表格的形式打印学生信息如下:#    +-------------+---------+--------+#    |    姓名      |   年龄  |   成绩  |#    +-------------+---------+--------+#    |  tarena     |   20    |   99   |#    +-------------+---------+--------+#    |   name2     |   18    |   88   |#    +-------------+---------+--------+l = [] #创建一个列表,准备存放学生数据订字典while True:    a = input("请输入名字:")    if not a: #如果用户输入字符串就结束输入        break    b = int(input("请输入年龄:"))    c = int(input("请输入成绩:"))    t = {}       # 一定要每次创建一个新的字典    # t["名字:"],t["年龄:"],t["成绩:"] = (a,b,c)    t["name"] = a    t["age"] = b    t["score"] = c    l.append(t)   #把生成的字典放在列表中print(l)print("+ "+"-"*30 +" +")print("|"+"姓名".center(8)+"|"+"年龄".center(8)+"|"+"成绩".center(8)+"|")print("+ "+"-"*30 +" +")for i in l:    sa = i["name"].center(10)    sb = str(i["age"]).center(10)    sc = str(i["score"]).center(10)    print("|"+sa+"|"+sb+"|"+sc+"|")print("+ "+"-"*30+" +")
题例24
# 1.定义两个函数:#    sum3(a,b,c) 用于返回三个数的和#    pow3(x)          用于返回x的三次方(立方)#    用以上函数的计算:#    1.计算1的立方 + 2的立方+3的立方的和#    2.计算 1 + 2 +3 的和的立方#    即:#    1**3+2**3+3**3 和 (1+2+3)**3def sum3(a,c):    x = a + b+c    return x def pow3(x):    d = x**3    return d printsun = sum3(pow3(1),pow3(2),pow3(3))print(printsun)print(pow3(sum3(1,3)))
题例25
# 2.写一个函数 get_chinese_char_count(s),此函数功能是给定一个字符串是s,返回这个字符串中中文字符的个数#    注:中文的编码范围是:0x4E00~0x9FA5def get_chinese_char_count(a):  i = 0  for x in a:    if 0x4E00<=ord(x)<=0x9FA5:      i+=1    return is = input("请输入中英文混合的字符串:")print("中文字符的个数是:",get_chinese_char_count(s))
题例26
# 3.改写之前的学生信息管理程序:# 用两个函数来封装的代码块#    函数1:input_student()  # 返回学生信息字典的列表#    函数2:output_student() #打印学生信息的表格# def input_student():#    ...此处自己实现# def output_student(L):#    ...此处自己实现

infos = input_student()print(infos) # 打印列表[{...},{...}]output_student(infos) # 根据实参infos打印表格def input_student(): # 打印死循环键盘输出,存入字典,放在列表 l = [] #创建一个列表,准备存放学生数据订字典 while True: a = input("请输入名字:") if not a: #如果用户输入字符串就结束输入 break b = int(input("请输入年龄:")) c = int(input("请输入成绩:")) t = {}#一定要每次创建一个新的字典 t["名字:"],t["年龄:"],t["成绩:"] = (a,c) l.append(t) # 把字典放在列表 print(l) return l
def output_student(l): # 打印表格以及输出 print("+ "+"-"*30 +" +") print("|"+"姓名".center(8)+"|"+"年龄".center(8)+"|"+"成绩".center(8)+"|") print("+ "+"-"*30 +" +") for i in l: x = get_chinese_char_count(i["名字:"]) sa = i["名字:"].center(10-x) sb = str(i["年龄:"]).center(10) #转字符串 sc = str(i["成绩:"]).center(10) #转字符串 print("|"+sa+"|"+sb+"|"+sc+"|") print("+ "+"-"*30+" +")def get_chinese_char_count(s): # 计算中文输入的长度 i = 0 for x in s: if 0x4E00<=ord(x)<=0x9FA5: i+=1 return i # 改变量infos = input_student() #把字典定义个变量output_student(infos) #表格调用字典
题例27
# 1.算出100~999 以内的水仙花数(Narcissistic number)水仙花数是指百尾3次方加上十位的三次方加上各位的3次方#    等于原数的整数#    例如: 153 = 1**3 + 5**3 + 3**3#    答案:  153,370,...  # 方法1for x in range(100,1000):    # 拆出百位,十位,个位    bai = x // 100 #百位    shi = x // 10 % 10 #十位    ge = x % 10 #个位    if ge ** 3+ shi ** 3 +bai ** 3 == x:        print(x)#满足条件的水仙花数# 方法2# 将数字转为字符串for x in range(100,1000):    s = str(x)    bai = int(s[0])    shi = int(s[1])    ge = int(s[2])    if  x == bai ** 3 + shi ** 3 +ge ** 3:        print(x)# 方法3for bai in range(1,10):    for shi in range(0,10):        for ge in range(10):            x = bai * 100  + shi *10 +ge            if x  ==bai ** 3 + shi ** 3 +ge ** 3:                print(x)
题例28
# 2.完全数:#    1+2+3=6(6为完全数)#    1,3都为6的因数(能被一个数x整除的数为y,则y为x的因数)#    1 x 6 = 6#    2 x 3 = 6#    完全数是指除自身以外的所有因数之和相加等于自身的数#    求4~5个完全数,并打印#    答案:#    6#    28  D#    496#    ...def is_perfect_number(x):    # """此函数判断x是否为完全数,如果是返回True,否则返回False"""    l = [] #创建一个列表,用来存放x所有的因数    for i in range(1,x):        if x % i ==0: #整数了,i则一定是x的因数            l.append(i)    if sum(l)==x: # 是完全数        return True    return Falsedef main():    i = 2    while True:        # 如果i是完全数,则打印i的值        if is_perfect_number(i):            print(i)        i+=1main()
题例29
# 3.写一个myrange()函数,参数可以传1~3个,实际意义同range函数规则相同,此函数返回符合range(...)函数规则的列表#    如:#    L = myrange(4)#    print(L) # [0,1,2,3]#    L = myrange(4,6)#    print(L) #[4,5]#    L = myrange(1,10,3)#    print(L)   #[1,7]    def myrange(start,stop=None,step=None):    if stop is None: # if not stop:        stop = start        start = 0    if step is None:        step = 1    # 开始,结束和步长都已确定    # seturn [x for x in range (start,stop,step)]    if step > 0: # 正向        l = []        while start < stop:            l.append(start)            start += step        return l    elif step < 0: # 反向        l =[]        while start > stop:            l.append(start)            start += step        return ll = myrange(4)print(l)l =myrange(4,6)print(l)l = myrange(1,3)print(l)l = myrange(10,-2)print(l)
题例30
# 1. 写一个函数mysum(n),此函数用来计算#    1+2+3+4+....+n 的和#   (要求:不布允许调用sum)#  如:#    print(mysum(100)) #5050#    print(mysum(4))#10def mysum1(n):    s = 0    for x in range(1,n+1):        s = s+x    return s print(mysum1(100))print(mysum1(4))def mysum2(n):    return sum(range(1,n+1))print(mysum2(100))print(mysum2(4))
题例31
# 2.写一个函数myfac(n)  来计算n!(n的阶乘)#  n!=1*2*3*4*...*n#  如:#  print(myfac([5]))  #120# 3.写一个函数计算#  1+ 2**2 + 3**3 + 4**4...+n**n的和# (n给个小点数来进行测试)   # 1+ 2**2 + 3**3 +...+ n**n的和# 方法1def mysum(n):    s = 0    for x in range(1,n+1):        s = s + x**x    return sprint(mysum(3))# 方法2def mysum(n):    s = sum([x**x for x in range(1,n+1)])    return s print(mysum(3))# 方法3def mysum(n):    return sum(map(lambda x:x**x,range(1,n+1)))print(mysum(3))
题例32
# 1.编写函数fun,其功能是计算并返回下列多项式的和# Sn = 1 + 1/1! + 1/2! + 1/3! +  ... 1/n!#  (建议用数学模块中的math.factorial(x)函数)# 求当 n = 20时,Sn的值# 方法1def fum(n):    from math import factorial as fac    s = 0    for x in range(0,n+1):        s = s + 1/(fac(x))    return sprint(fum(20))# 方法2def fum(n):    from math import factorial as fac    return sum([1/fac(x) for x in range(n+1)])print(fum(20))# 方法3def fum(n):    from math import factorial as fac    return sum(map(lambda x: 1/fac(x),range(n+1)))print(fum(20))
题例33
# 2.写一个程序,以电子时钟格式打印时间:# 格式为:#  HH:MM:SS#  2.写一个程序,以电子时钟格式打印时间:def show_time():    import time    while True:        n = time.time()        s = time.localtime(n)        # t = s[3],s[4],s[5]        # print("%02d:%02d:%02d" % t,end="\r")        print("%02d:%02d:%02d" % s[3:6],end="\r")        time.sleep(1)show_time()
题例34
# 3.编写一个闹钟程序,启动时设置定时时间,到时间后打印一句“时间到!”然后程序退出!a = int(input("请输入小时:"))b = int(input("请输入分钟:"))c = int(input("请输入分秒:"))import timewhile True:    n = time.time()    s = time.localtime(n)    if s[3] ==a and s[4]==b and s[5]==c:        print("时间到!")        break    else:        print("%02d:%02d:%02d" % (s[3:6]),end="\r")        time.sleep(1)def alarm(hour,minute):    import time    while True:        t = time.localtime()  #获取当前时间        print("%02d:%02d:%02d" % (t[3:6]),end="\r")        time.sleep(0.1)        # if t[3] == hour and t[4] == minute:        if t[3:5] == (hour,minute):            print("时间到!!!")            return a = int(input("请输入小时:"))b = int(input("请输入分钟:"))alarm(a,b)
题例35
# 1. 随机生成6位密码:#    可以作为密码的字符有:#    a-z,A-Z,0-9#    随机生成一个6位的密码# 方法1import random as rcord = ("qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789")for s in range(0,6):    d = r.randint(0,len(cord)-1)    c = cord[d]    print(c,end="")print()# 方法2import randomchar = [chr(x) for x in range(65,65+26)]char += [chr(x) for x in range(97,97+26)]char += [str(x) for x in range(10)]passwd =" " for d in range(6):    passwd += random.choice(char)print(passwd)
题例36
# 2. 模拟斗地主发牌,牌共54张# 种类:# 黑桃("\u2660"),梅花("\u2663"),方块("\u2665"),红桃("\u2666")# 数字:# A2-10JQK#    三牌:大小王#    三个,每人发17张牌,底牌留三张#    输入回车,打印第一个人的17张牌#    输入回车,打印第二个人的17张牌#    输入回车,打印第三个人的17张牌#    输入回车,打印3张底牌print("欢迎来到发牌程序")import randomimport timer = ["大王","小王"] #容器pai = ["A","J","Q","K"]shu = ["\u2660","\u2663","\u2665","\u2666"] for x in range(2,10+1):    r.append(shu[0]+str(x))    r.append(shu[1]+str(x))        r.append(shu[2]+str(x))    r.append(shu[3]+str(x))for y in range(1,4+1):    r.append(shu[0]+pai[0])    r.append(shu[1]+pai[1])    r.append(shu[2]+pai[2])    r.append(shu[3]+pai[3])time.sleep(1)print(r)print("--------------------------------------------------")random.shuffle(r)s1 = r[0:17]s2 = r[17:34]s3 = r[34:51]s4 = r[51:]input("第一个人牌")print(s1)input("第二个人牌")print(s2)input("第三个人牌")print(s3)input("底牌")print(s4)# 方法2poke = ["大王","小王"]kinds = ["\u2660","\u2666"]numbers =["A"]numbers += [str(x)for x in range(2,11)]numbers += List("JQK")# for k in kinds:#     for n in numbers:#         poke.append(k+n)poke += [k+n for k in kinds for n in numbers]print(poke)assert len(poke)==54,"出错"# 打乱poke2 = poke.copy()import randomrandom.shuffle(poke2)player1 = poke2[:17]player2 = poke2[17:34]player3 = poke2[34:51]base = poke2[51:]input()print("打印第一个人的17张牌:",player1)input()print("打印第二个人的17张牌:",player2)input()print("打印第三个人的17张牌:",player3)input()print("三张底牌:",base)
题例37
# 1. 一个球从100米高空落下,每次落地后反d高度为原高度的一半,再落下,写程序算出:#    1) 皮球在第10次落地后反d的高度#    2) 皮球在第10次落地反d后共经历多少米路程s = 100lucheng = 0for x in range(10):    s = s / 2     lucheng = lucheng + (s+s/2)*2print(s)print(lucheng)def get_last_height(height,times):    """height 原来的高度       times  为反d次数"""    for _ in range(times):        height /= 2 # 每次反d高度为原高度的一半    return heightprint("皮球从100米高度落下反d十次后高度为:",get_last_height(100,10))def get_distance(height,times):    meter = 0 # 用来记录总路程    for _ in range(times):        # 累加下落过程的路程        meter += height        height /=2 # 计算返回后的高度        # 累加反d之后的路程        meter += height    return meterprint("皮球从100米高度落下反d十次后的总路程为:",get_distance(100,10))
题例38
# 2.分解质因数,输入一个正整数,分解质因数# 如:#    输入: 90#    打印:#    90 = 2 * 3 * 3 * 5#    (质因数是指最小能被原数整数的素数(不包括1))print("----------"*10)
# 方法1s
= int(input("请输入一个整数:"))n=sif s ==2: print(s)else: l = [] while True: for x in range(2,s+1): if s % x==0: s = s // x l.append(str(x)) break if s==1: break a=" * ".join(l)print(n,"=",a)
# 方法2(封装)
def get_zhiyin_List(x): """此函数返回x的质因数的列表 如x = 90 返回[2,5] """ l =[] #准备存放质因数 while x > 1: # 每次求取一个质因数,然后放在l中 for i in range(2,x+1): if x % i ==0: # i一定质因数 l.append(i) x = int(x/i) break # 进入下一次while return lx = int(input("请输入正整数:"))l = get_zhiyin_List(x)l2 = (str(x)for x in l)print(x,"*".join(l2))
总结

以上是内存溢出为你收集整理的Python 总结题目全部内容,希望文章能够帮你解决Python 总结题目所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1195700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存