快好知 kuaihz

python 练习题

#题目1 有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

# l1=[1,2,3,4]

# count=0

# for i in range(100,999):

#     a3=i//100

#     a2=(i-a3*100)//10

#     a1=i-a3*100-a2*10

#     # print(i,a3,a2,a1)

#     if a1 in l1 and a2 in l1 and a3 in l1:

#         if a1!=a2 and a2!=a3 and a1!=a3:

#             print(i)

#             count+=1

# else:

#     print(count)

 

"""题目2 企业发放的奖金根据利润提成,利润(I):

I<=10 --="">提成10%

i>10且i<20万元时, 提成组成 10*0.1+(I-10)*0.075

i>=20 且 i<40     ,提成组成(i-20)*5%

40<=i<60  ,提成组成 10 * 0.1 + 20*0.075+20*0.05 + (I - 40) * 0.03

60<=i<100  ,提成组成 10 * 0.1 + 20*0.075+20*0.05+20*0.03 + (I - 60) * 0.015

i>100   提成组成  10 * 0.1 + 20*0.075+20*0.05+20*0.03 +40*0.015 + (I - 100) * 0.01

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

"""

# def reward():

#     I=eval(input("请输入当月利润I:"))

#     sun=""

#     if I<=10:

#         sun=I*0.1

#     elif I>10 and I<20:

#         sun=10*0.1+(I-10)*0.075

#     elif I>=20 and I<40:

#         sun = 10 * 0.1 + 20*0.75+(I-20)*0.05

#     elif I>=40 and I<60:

#         sun = 10 * 0.1 + 20*0.075+20*0.05 + (I - 40) * 0.03

#     elif I>=60 and I<100:

#         sun = 10 * 0.1 + 20*0.075+20*0.05+20*0.03 + (I - 60) * 0.015

#     else:

#         sun=10 * 0.1 + 20*0.075+20*0.05+20*0.03 +40*0.015 + (I - 100) * 0.01

#     print("应发放奖金总数:",sun)

# while True:

#     reward()

# """

#题目3 一个整数,它加上100后 是一个完全平方数,再加上168 又是完全平方数,问该数是多少

# """

# from math import  sqrt

# for i in range(10000):

#     x=sqrt(i+100)

#     y=sqrt(i+268)

#     if x==int(x) and y==int(y):

#         print(i)

# print(sqrt(100+21),sqrt(268+21))

# print(sqrt(261+100),sqrt(268+261))

# print(sqrt(1581+100),sqrt(1581+268))

# """

# 题目4 输入某年某月某日,判断这一天是一年的第几天

# """

# import  datetime

#

# day1="2024-6-9"

# if day1 is datetime:

#     print("OK")

# count=0

# l1=day1.split("-")

# dictm={1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}

# y=int(l1[0])

# if (y%4)==0 and (y%100)!=0 or (y%400)==0:

#     print("这一年是闰年,2月份有29日")

#     dictm[2]=29

# for i in range(1,int(l1[1])): #计算前i个月的天数

#     count+=dictm[i]

# count+=int(l1[2])

# print(count)

# """

# 题目5  输入3个数x,y,z, 请把这3个数由小到大输出

# """

# x=eval(input("输入数字x:"))

# y=eval(input("输入数字y:"))

# z=eval(input("输入数字z:"))

#

# x,y = (x,y) if x>y else (y,x)

# if z>=x:

#     x,y,z=z,x,y

# elif z<=y:

#     x,y,z=x,y,z

# else:

#     x,y,z=x,z,y

# print(z,y,x)

# """题目6  用*输出C的图案

#         * *

#        *    *

#       *

#      *

#       *

#        *     *

#          * *

# """

# for i in range(-3,4):

#     if abs(i)>1:

#         print(" "*abs(i)+"*"+" "*(abs(i))+"*"*(3-abs(i)))

#     if i>=-1 and i<=1:

#         print(" "*abs(i)+"*")

#     # if i>1:

#     #     print(" " * abs(i) + "*" + " " * (7 // abs(i) - 1) + "*"*(3-abs(i)))

# """

# 题目7 输出特殊图案,请在C环境中运行 看一看 Very Beautiful

# 确实没有任何头绪

# """

# a = 305

# b = 404

# print("%c%c%c%c%c"%(b,a,a,a,b))

# print("%c%c%c%c%c"%(a,b,a,b,a))

# print("%c%c%c%c%c"%(a,a,b,a,a))

# print("%c%c%c%c%c"%(a,b,a,b,a))

# print("%c%c%c%c%c"%(b,a,a,a,b))

# """题目 8  输出9*9 口诀表"""

# for i in range(1,10):

#     line=""

#     for j in range(1,i+1):

#         line+="{}*{}={:<2} ".format(j,i,i*j)

#     print(line)

# """

# 题目9 输出国际象棋棋盘 8行8列,黑白相间

# """

# for i in range(8):

#     line=""

#     if i%2==0:

#         for j in range(4):

#             line+="{:^2} {:^2} ".format("a","b")

#         print(line)

#     else:

#         for j in range(4):

#             line+="{:^2} {:^2} ".format("b","a")

#         print(line)

# """

# 题目10 打印楼梯,同时在楼梯上方打印两个笑脸

# 打印笑脸我直接找的颜文字 ヽ(°◇° )ノ就是这个图案

# 然后直接输出两个笑脸

# 之后就是打印楼梯,我是用下划线_和 | 这两个符号实现的小写字母 L说不定也可以实现

# 其余的还是循环

# """

# st1="ヽ(°◇° )ノ"

# st2="______  ヽ(°◇° )ノ"     #6个下划线

# st3="|"

# print(st1*2)

# for i in range(5):

#     print(" "*i*6+st2)

#     print(" "*(i*6+6)+st3)

# """题目11 古典问题 有一对兔子,从出生后第3个月起每个月都生一堆兔子,小兔子长到第3个月后每个月又生一对兔子,假如兔子都不死,,问每个月兔子总数为多少

# 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21….

# 2.程序源代码:

# """

# f1 = 1

# f2 = 1

# for i in range(1,21):

#     print "%12d %12d" % (f1,f2)

#     if (i % 2) == 0:

#         print ""

#     f1 = f1 + f2

#     f2 = f1 + f2

# """

# 题目12  求101-200中间的素数,并输出所有素数

# """

# import datetime

#

# counter1=0

# counter2=0

# counter3=0

# l1=[]

# m=int(101**0.5)+1

# n=int(200**0.5)+1

# sttime=datetime.datetime.now()

# for i in range(101,200,2):

#     for j in range(3,int(200**0.5)+1,2):

#         counter1+=1

#         if not i%j:

#             break

#     else:

#         l1.append(i)

# endtime=datetime.datetime.now()

# runtime=endtime-sttime

# print(runtime,len(l1),l1)

# print("=====================================================================")

# count=0

# for i in range(101,200,2):

#     for j in range(3,i,2):

#         counter2 += 1

#         if not i%j:

#             # print("{}%{}={}".format(i,j,i%j))

#             break

#     else:

#         # print(i)

#         count+=1

# print(count)

# print("=======================================================================")

# count=0

# for i in range(101,200,2):

#     if i%6!=1 and i%6!=5:

#         continue

#     else:

#         for j in range(5,int(i**0.5)+1,2):

#             counter3 += 1

#             # print("{}%{}={}".format(i, j, i % j))

#             if not i%j:

#                 break

#         else:

#             # print(i)

#             count+=1

# print("count:",count)

# print(counter1,counter2,counter3)

# """题目13

# 打印所有  水仙花数 ,所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.如:153=1**3+5**3+3**3

# """

# for i in range(100,1000):

#     a=i//100

#     b=(i-a*100)//10

#     c=i%10

#     if i==(a**3+b**3+c**3):

#         print("{}={}**3+{}**3+{}**3".format(i,a,b,c))

# """

# 题目14 将一个正整数分解质因数,如:输入90 打印90=2*3*3*5

# """

# n=9005001

# ln=[]

# def zhishu(num:int):

#     for i in range(2,int(num)):

#         if not num%i:

#             flag=False

#             break

#     else:

#         flag = True

#     return  flag

# def fenjie(n:int):

#         for i in range(2,n):

#             if n%i==0:

#                 if zhishu(i):

#                     ln.append(i)

#                     n=int(n/i)

#                     if zhishu(n):

#                         ln.append(n)

#                     else:

#                         fenjie(n)

#                     break

# if zhishu(n):

#     print(n,"是质数,无需分解")

#     ln.append(n)

# else:

#     fenjie(n)

# print("分解质因数序列:",ln)

# st1=str(n)+"="

# for k in range(len(ln)):

#     if k != len(ln)-1:

#         st1+=str(ln[k])+"*"

#     else:

#         st1+=str(ln[k])

# print(st1)

# """题目15

# 利用条件运算符的嵌套来完成此题:学习成绩>=90 分的同学用A表示,60-90之间的用B表示,60分一下的用C表示

# """

# mark=55

# if mark<90:

#     if mark>=60:

#         print("B")

#     else:

#         print("C")

# else:

#     print("A")

# """题目17

# 输入一行字符,分别统计其中的英文字母,空格,数字和其他字符的个数.

# 严格解析:有除了数字或者字母外的符号(空格,分号,etc.)都会False

# isalnum()必须是数字和字母的混合

# isalpha()不区分大小写

# isdigit() 是否为数字

# """

# st1="htt ps://www .cnblo  gs.co m/wa ngbo qi/p/ 745 524 0.htm l"

# lchar=[]

# lnum=[]

# lspace=[]

# lother=[]

# for i in st1:

#     if i.isalpha():

#         lchar.append(i)

#     elif i.isdigit():

#         lnum.append(i)

#     elif i==" ":

#         lspace.append(i)

#     else:

#         lother.append(i)

# print(len(lchar),lchar)

# print(len(lnum),lnum)

# print(len(lspace),lspace)

# print(len(lother),lother)

# """题目18

# 求 s=a+aa+aaa+aaaa+aa...a 的值 其中a是一个数字,如 2+22+222+2222+22222 (此时 共有5个数相加),其中几个数相加由键盘控制

# """

# a=5

# n=9

# s=0

# ltotal=0

# for i in range(0,n):

#     s+=a*10**(i)

#     ltotal+=s

#     print(s,ltotal)

# """题目19

# 一个数如果恰好等于它的因子之和,这个数成为完数. 如 6=1+2+3.编程找出1000以内的所有完数

# 1=1

# """

##方法1

# def wanshu(n):

#     def yinzi(n):

#         ln = [1]

#         for i in range(2, n):

#             if not n % i:

#                 ln.append(i)

#                 # n=int(n/i)

#         return ln

#     sum=0

#     for i in yinzi(n):

#         sum+=i

#     if n==sum:

#         print(n, "是完数")

#         return [True,n]

# ls=[]

# for i in range(100):

#     l1=wanshu(i)

#     if l1:

#         ls.append(l1[1])

# print(ls)

###方法二

# """

# 6

# 1 2 3

# 28

# 1 2 4 7 14

# 496

# 1 2 4 8 16 31 62 124 248

# """

# from sys import stdout

# for j in range(2,1001):

#     k = []

#     n = -1

#     s = j

#     for i in range(1,j):

#             if j % i == 0:

#                 n += 1

#                 s -= i

#                 k.append(i)

#

#     if s == 0:

#         print(j)

#         for i in range(n):

#             stdout.write(str(k[i]))

#             stdout.write(" ")

#         print(k[n])

"""题目19

一球从100米高度自由落体,每次落地后反弹回原高度的一半,再落下,求第10次落地时,共经过多少米,滴10次反弹多高.

"""

# m=100

# n=10

# s=0

# for i in range(n):

#    s+=1.5*m

#    m=m/2

#    print("第{}次:   球经过路径   {:<15}M,弹回高度   {:<15}M".format(i,s, m))

# else:

#    print(s,m)

# """题目21

# 猴子第一天摘下若干个桃子,当天即吃了一半,有多吃一个;第二天早上又将剩下的桃子吃掉一半,又多吃一个;以后每天早上都吃了前一天身下的一半零一个,到第10天早上想吃时,反向只剩下一个桃子,求第一天共摘了多少个桃子

# n=x-x*0.5-1   ->n=0.5x-1 -->n+1=0.5x--->2*(n+1)=x  -->x=2*(n+1)   --->n=2*(n+1)

# """

# print("第10日还有桃子1个")

# n=1

# for i in range(9,0,-1):

#     n=2*(n+1)

#     print("第{}日还有桃子{}个".format(i,n))

# """题目22

# 两个乒乓球队进行比赛,各出三人,甲队为a,b,c 三人,乙队为x y x 三人 ,已抽签决定比赛名单,有人想队员打听比赛名单.a说不和x比,c说不和x,z比 请编程找出三对赛手的名单

# """

# team1=["c","b","a"]   #如何保证C排在第一位 是一个大问题

# team2=["x","y","z"]

# namelist=dict()

# for i in team1:

#     if i=="c" :

#         for j in team2:

#             if j!="x" and j!="z":

#                 namelist["c"]=j

#                 team1.remove("c")

#                 team2.remove(str(j))

#     if i=="a" :

#         for j in team2:

#             if j!="x":

#                 namelist["a"]=j

#                 team1.remove("a")

#                 team2.remove(str(j))

# else:

#     namelist[team1[0]]=team2[0]

#

# print(namelist)

# """题目23

# 打印菱形

# n-2*abs(i) 是打印输出对称的关键

# """

# n=8

# m=-(n//2)

# k=n//2+1

# for i in range(m,k):

#     print("{:^8}".format("*"*(n-2*abs(i))))

#

# """

# 题目24

# 有一个分数序列:2/1,3/2,/5/3,8/5....求出这个数列前20箱之和

# """

# n1=1

# n2=2

# s=0

# for i in range(20):

#     s+=n2/n1

#     print("{}/{}={}".format(n2,n1,n2/n1))

#     n1,n2=n2,n1+n2

# print(s)

# """题目25

# 求 1+2!+3!+4!+....+20! 的和

# 当所求阶乘数大于等于1时,用公式n!=nX(n-1)x(n-2)x•••x3x2x1进行计算

# """

# s=0

# t=1

# for i in range(1,21):

#     t*=i

#     s+=t

# print(i,t,s)

# """题目26

# 利用递归方法求5!

# """

# import  datetime

# n=998

# t=1

# st1=datetime.datetime.now()

# for i in range(n,0,-1):

#     t*=i

# en1=datetime.datetime.now()

# runtime=(en1-st1).total_seconds()

# print(runtime)

#

# n=998

# t=1

# st1=datetime.datetime.now()

# while n>0:

#     t*=n

#     n-=1

# en1=datetime.datetime.now()

# runtime=(en1-st1).total_seconds()

# print(runtime)

# ##递归效率比循环低,且递归次数有限制,最多998次

# n=998

# def factorial(n):

#     if n==1:

#         fn=1

#     else:

#         fn=n*factorial(n-1)

#     return fn

# st1=datetime.datetime.now()

# factorial(n)

# en1=datetime.datetime.now()

# runtime=(en1-st1).total_seconds()

# print(runtime)

# """题目27

# 利用递归函数调用方式,将所输入的5个字符,以相反的顺序打印出来

# a.pop(index):删除列表a中index处的值,并且返回这个值.

# del(a[index]):删除列表a中index处的值,无返回值. del中的index可以是切片,所以可以实现批量删除.

# a.remove(value):删除列表a中第一个等于value的值,无返回.

# pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。 list.pop([index=-1])

# >>> a = [0, 2, 3, 2]

# >>> a.remove(2)

# >>> a

# [0, 3, 2]

#

# >>> a = [3, 2, 2, 1]

# >>> del a[1]

# >>> a

# [3, 2, 1]

#

# >>> a = [4, 3, 5]

# >>> a.pop(1)

# 3

# >>> a

# [4, 5]

# """

# ln=[]

# for i in range(5):

#     t=input("输入{}第个字符>>>".format(i+1))

#     ln.append(t)

# print(ln)

# # ln=["s", "e", "g", "q", "a"]

# def factorial(ln):

#     print(ln[-1])

#     if len(ln)>1:

#         # del ln[-1]

#         ln.pop(-1)

#         factorial(ln)

# factorial(ln)

# """题目28

# 有 a b c d e . e-d=2  d-c=2 d-b=2 b-a=2  a=10   求e

# """

# a=10

# for i in range(4):

#     a+=2

# print(a)

# """

# 题目29:给一个不多于5位的正整数,求  它是几位数,逆序打印出各位数

# """

# n=5

# ln=[]

# t=len(str(n))

# for i in range(t):

#     ln.append(n%10)

#     n=n//10

# print(t,ln)

# """题目30

# 一个5位数,判断是不是回文数,即 12321 是 回文数,个位和万位相同,十位和千位相同

# """

# n=56765

# s=str(n)

# t=int(len(s)/2)

# flag=True

# for i in range(1,t+1):

#     if s[i-1]!=s[-i]:

#         print(n,"不是回文数")

#         break

# else:

#     print(n, "是回文数")

# """

# 题目 31

# 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母

# """

# weekdict=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday","Sundaysss","Sundays","Sundayssss","Sundayssss1"]

# i=0

# def weekcode(ln):

#     # global i

#     l1 = []

#     v = input("请输入第{}个字母:".format(i + 1))

#     for k  in ln:

#         # print("k=",k,"i=",i)

#         if i<len(k):

#             if  str(v)==k[i] or v.upper()==k[i] or v.lower()==k[i]:

#                 print("跟第{}个字母匹配的有:{}".format(i+1,k))

#                 l1.append(k)

#     print(l1)

#     return  l1

#

#

# while len(weekdict)>0:

#     weekdict=weekcode(weekdict)

#     if len(weekdict)==1:

#         print("只剩下一个最匹配的结果了",weekdict)

#         break

#     i+=1

###   下面只判断前面2个字母

##    if i>1:

# #       break

"""计算杨辉三角前6行

从1开始,第n行有n项,n是正整数

第n行的数字之和为2**(n-1)

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

"""

# triangle=[[1],[1,1]]

# n=20

# for i in range(2,n):

#     preln=triangle[i-1]

#     curln=[1]

#     for j in range(0,i-1):

#         curln.append(preln[j]+preln[j+1])

#     curln.append(1)

#     triangle.append(curln)

#     # print(triangle)

#     # print("======================================")

# print(triangle)

#

# def println(triangle):

#     for ln in triangle:

#         st1=""

#         for l1 in ln:

#             st1+="{:^{num}}".format(str(l1)+" ",num=7)

#         else:

#             print("{:^{num}}".format(st1,num=5*n))

# triangle=[]

# n=6

# for i in range(n):

#     row=[1]

#     triangle.append(row)

#     if i==0:

#         continue

#     for j in range(i-1):

#         row.append(triangle[i-1][j]+triangle[i-1][j+1])

#     row.append(1)

# print(triangle)

# n=6

# oldline=[]

# newline=[1]

# length=0

# print(newline)

# for i in range(1,n):

#     oldline=newline.copy()

#     oldline.append(0)

#     newline.clear()

#     offset=0

#     while offset<=i:

#         newline.append(oldline[offset-1]+oldline[offset])

#         offset+=1

#     print(newline)

#

# n=8

# oldline=[]

# newline=[1]

# for i in range(1,n):

#     oldline=newline.copy()

#     oldline.append(0)

#     newline.clear()

#     for j in range(i+1):

#         newline.append(oldline[j-1]+oldline[j])

#     print(newline)

# """题目32

# Press any key to change color ,do you want to try it .please hurry up!

# 数值表示的参数含义:

#

# 显示方式: 0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、 5(闪烁)、25(非闪烁)、7(反显)、27(非反显)

# 前景色: 30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋 红)、36(青色)、37(白色)

# 背景色: 40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋 红)、46(青色)、47(白色)

#

# 常见开头格式:

#             默认字体正常显示,不高亮

#        红色字体正常显示

#   显示方式: 高亮    字体前景色:绿色  背景色:黑色

#   显示方式: 正常    字体前景色:红色  背景色:青色

#   显示方式: 高亮    字体前景色:红色  背景色:无

#  举例说明:

# 示例1:

# print("字体变色,但无背景色 ")  # 有高亮 或者 print("字体有色,但无背景色 ")

# print(" 字体不变色,有背景色 ")  # 有高亮

# print(" 字体有色,且有背景色 ")  # 有高亮

# print(" 字体有色,且有背景色 ")  # 无高亮

#

# #coding=utf-8

# raw_input(unicode("按回车键退出...","utf-8").encode("gbk"))

# import os

# os.system("pause")

# """

# import  os

# import random

# while True:

#     s=random.choice([0,1,4,5,7,22,24,25,27])

#     f=random.randint(30,37)

#     b=random.randint(40,48)

#     print(s,f,b)

#     print("[{};{};{}m  按任意键修改颜色。".format(s,f,b))

#     os.system("Pause")

# """

# 题目33  学习gotoxy() 与 clrscr()

# """

# """题目34  联系函数调用"""

# """题目35 文本颜色设置"""

# """题目36 求100之内的素数"""

# import math

# import datetime

# # n=100000

# # count=0

# # ln=[2]

# # st1=datetime.datetime.now()

# # for i in range(3,n+1,2):

# #     for j in ln:

# #         count+=1

# #         if i%j==0:

# #             break

# #     else:

# #         ln.append(i)

# # en1=datetime.datetime.now()

# # s=(en1-st1).total_seconds()

# # print(len(ln))

# # print(s,count)

#

# primenumber=[]

# count=0

# flag=False

# st1=datetime.datetime.now()

# for x in range(2,100000):

#     for i in primenumber:

#         count += 1

#         if  not x % i:

#             flag=True

#             break

#         # if i>=math.ceil(math.sqrt(x)):

#         if i**2>=x:

#             print("i=",i,"x=",x)

#             flag=False

#             break

#     if not flag:

#         primenumber.append(x)

# en1=datetime.datetime.now()

# s=(en1-st1).total_seconds()

# print(len(primenumber))

# print(s,count)

# """题目37 对10个数进行排序

# 加入使用对半排序 该如何编写

# """

# ln=[1,3,66,44,99,4,6,7,8,9,0]

# ln.sort(reverse=False)

# print(ln)

# ln.sort(reverse=True)

# print(ln)

# ln=[1,3,44]

# ln2=[]

# counter=0

# for  j in range(len(ln)):

#     mx=0

#     for i in range(len(ln)):

#         counter+=1

#         if ln[i]>mx:

#             mx=ln[i]

#     else:

#         ln2.append(mx)

#         ln.remove(mx)

# print(ln)

# print(ln2)

# print(counter)

# """题目38

# 求一个 3*3 矩阵对角线元素之和

# """

# ln=[[1,2,3,7,9],[4,5,6,5,8],[7,8,9,6,7],[7,8,9,6,4],[4,5,6,5,8]]

# for li in ln:

#     print(li)

# print("========================")

# def doam(ln):

#     l1=[]

#     l2=[]

#     for i in range(len(ln)):

#         for j in range(len(ln[i])):

#             if i==j:

#                 l1.append(ln[i][j])

#         for k in range(len(ln[i])):

#             if (i+k)==(len(ln)-1):

#                 l2.append(ln[i][k])

#     return [l1,l2]

#

# def sline(ln):

#     sun=0

#     for i in ln:

#         sun+=i

#     return sun

# l1=doam(ln)[0]

# sl1=sline(l1)

# print(sl1)

# l2=doam(ln)[1]

# sl2=sline(l2)

# print(sl2)

# """题目39

# 有一个已经排好序的数组,先输入一个数,请按原来的规律将他插入数组

# """

# ln=[1,2,6,7,8,9,11]

# ln.sort(reverse=True)

# #先判断序列是升序还是降序

# if ln[0]>ln[1]:

#     flag=True # 降序

# else:

#     flag=False #升序

# n=5

# for i  in range(len(ln)):

#     if flag:

#         if n >=ln[i]:

#             ln.insert(i,n)

#             break

#     else:

#         if n<=ln[i]:

#             ln.insert(i,n)

#             break

# print(ln)

# """

# 题目 40

# 将一个数组逆序输出

# """

# ln=[1,2,6,7,8,9,11]

# for i in range(len(ln)-1,-1,-1):

#     print(ln[i])

"""

题目41 学习static定义静态变量

题目42 学习使用auto 定义变量的用法

题目43 学习使用static的另一用法

题目44 学习使用external 的用法

题目45 学习使用register 定义变量的方法

题目46-50 宏#define 命令练习

题目51-53 学习使用按位与& 或 | 异或^ .

题目54 取一个整数a 从右端开始的4~7位

题目55 学习使用按位取反~

题目56 画图,学用circle 画圆形

题目57 画图 学用line画直线

题目58 画图,学用rectangle 画方形

题目59 画图 综合例子

题目60 画图 综合例子

"""

"""

题目61 打印出杨辉三角形(要求打印出10行)

"""

##方法一

# triangle=[]

# n=10

# for i in range(n):

#     row=[1]

#     triangle.append(row)

#     if i==1:

#         row.append(1)

#         continue

#     for j in range(i-1):  #  i=2  0

#         try:

#             row.append(triangle[i-1][j]+triangle[i-1][j+1])

#         except Exception as e:

#             print(str(e))

#     row.append(1)

#     # print(triangle)

# print(triangle)

# ##方法二

# triangle=[[1],[1,1]]

# n=10

# for i in range(2,n):

#     row=[1]

#     for j in range(i-1):

#         row.append(triangle[i-1][j]+triangle[i-1][j+1])

#     row.append(1)

#     triangle.append(row)

# print(triangle)

# ## 方法三

# n=10

# oldline=[]

# newline=[1]

# print(newline)

# for i in range(1,n):

#     oldline=newline.copy()

#     oldline.append(0)

#     newline.clear()

#     for j in range(i+1):

#         newline.append(oldline[j-1]+oldline[j])

#     print(newline)

# ##方法4:

# triangle=[]

# n=10

# for i in range(n):

#     row=[1]

#     for k in range(i):

#         row.append((1)) if k==i-1 else row.append(0)

#     triangle.append(row)

#     if i==0:

#         continue

#     for j in range(1,i//2+1):

#         val=triangle[i-1][j-1]+triangle[i-1][j]

#         row[j]=val

#         if j!=i-j:

#             row[-j-1]=val

# print(triangle)

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:python 练习题  练习题  练习题词条  python  python词条