Python 总结题目

 

题例1

# 打印如下长方形:
************ 
*          *
*          *
************
# 打印如下长方形:
print("*****************")
print("*               *")
print("*               *")
print("*****************")

题例2

# 中国古代的秤是16两一斤,请问古代的216两是古代的几斤几两?
#    写程序打印出来

all_liang = 216
jin = 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华氏温度转为摄氏温度是多少度,转为开氏温度是多少度?# 方法1
huashi = 100
sheshi = 5.0 / 9.0 *(huashi - 32)
print(huashi,"华氏度等于",sheshi,"摄氏度")
kaishi = sheshi + 273.15
print(huashi,"华氏度等于",kaishi,"开氏度")# 方法2
# 稳定转换
s = 5.0 / 9.0 * (100-32)
k = s + 273.15
s = 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("消费金额",s,"")

题例6

# 写程序,任意给出三个数,打印出三个数中最大的一个数

a = int(input("请输入第一个数字:"))
b = int(input("请输入第二个数字:"))
c = int(input("请输入第三个数字:"))
# 改进算法:
# 先假设第一个最大,用变量绑定
zuida = a 
if b > zuida:zuida = b
if c > zuida:zuida=c
print("最大数是:",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 ** 2
bmi = round(bmi,2)
if bmi <= 18.5:print(bmi,"体重过轻")
elif 18.5<=bmi<24:print("BMI是:",bmi,"正常范围")
else:bmi > 24print("BMI是:",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("不是闰年")# 方法2
if y % 400 == 0:print("是闰年")
elif y % 100 ==0:print("不是闰年")
elif y % 4 ==0:print("是闰年")
else:print("不是闰年")# 方法3 
z = yue % 4 == 0
y = yue % 400 == 0
x = yue % 100 != 0
if (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!       |
#    | I'm 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整除的数)
# 方法1 i = 0 while i <=30:if i % 2 == 0:print(i,end=" ")i += 1 print()# 方法2 i = 0 while i <= 30:print(i,end=" ")i+=2 print()

题例12

# 2.写程序用while 语句生成如下的字符串,并打印出来
# 1) "ABCD.............XYZ"
# 2)  "AaBbCcDd.......XxYyZz"# 方法1
i = ord("A")
d = ord("a")
while i <=ord("Z"):print(chr(i),end="")print(chr(d),end=" ")d += 1i += 1
print()# 方法2
d = ord("a")-1
for x in range(ord("A"),ord("Z")+1):d = d + 1print(chr(x),end="")print(chr(d),end=" ")
print()

题例13

# 3.写程序求:
#    1/1 + 1/3 + 1/5 + 1/7 + .....+1/99 的和# 方法1
i = 1
he=0
while i <=99:he = he + 1/ii = i + 2
print(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....)# 问题 1
while i <= 1000000:he = he + 1/(2*i-1)*dd = d * (-1)i+=1
print(he)
print(4*he)# 问题 2
s = 0 #累加和
n = 1 #分母
sign = 1 #符号
while n <= 1000000:s += sign * 1 / (2*n-1)sign *= -1 # 改变符号的正负n += 1
print(s)
print(s*4) #3.1415

题例15

# 5.打印九九乘法表 (需用到循环嵌套)
# 1x1=1
# 1x2=2  2x2=4
# 1x3=3  2x3=6 3x3=9
# ....
# 1x9=9....................... 9x9=81

i = 1
while i<=9:ji = 1while ji <=i:p = ji * iprint(ji,"x",i,"=",p,end="   ")ji += 1print()i+=1# 第一重循环控制行数
y = 1
while y<=9:# 此处打印一行订内容,每行打印y个乘法x = 1while x <= y:#打印x *y的一列print("%dx%d=%-2d"%(x,y,x*y),end=" ")x += 1print() #换行y+=1

题例16

# 练习:
#    1.输入一个整数,代表树干的高度,打印如下一颗“圣诞树”
#     如:
#    请输入:2
#     打印
#      * 
#     ***
#      * 
#      *
#     如:
#    请输入:3
#     打印
#      *
#     ***
#    *****
#      *
#      *
#      *# 方法1
n = int(input("请输入一个整数:"))
i = 1
while i <= n:s = "*"*(2*i-1)d = (2*n-1)print(s.center(d))i+=1
w = 1
while w <=n:print("*".center(d))w += 1# 方法2
n = 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","你好"] # 方法 1
l = []
while True:n = int(input("请输入文字:"))if n < 0:breakl += [n]
print(l)

题例19

# 练习:
# 1. 已知有一个字符串:
# s = "100,200,300,500,800"
# 将其转化为列表,列表内都为整数,即:
# L = [100,200,300,500,800]

s = "100,200,300,500,800"
l = s.split(",")
d =[]
for x in l:d = d + [int(x)]
print(d,end=" ")
print()s = "100,200,300,500,800"
l2 = s.split(",") #['100', '200', '300', '500', '800']
l = [int(x)for x in l2]
print(l)

题例20

# 2. 将一些数存于列表中,如:
#    L = [1,3,2,1,6,4,2,.....,98,82]
#    1)将列表中出现的数字存入到另一个列表L2中
#     要求:
#     重复出现多次的数只在L2列表中保留一份(去重)
#    2)将列表中出现两次的数字存于L3列表中,在L3列表中只保留一份

# 问1
l = [1,3,2,1,6,4,2,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)# 问2
l = [1,3,2,1,6,4,2,98,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交给b
print(l)
print(len(l))# 方法2
l=[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空字符串,则退出breakb = input("请输入解释:")if not b:breakd[a] = b# 走到此处,说明a ,b都绑定了正确订值
print(d)
print("-------------以下开始查询单词---------------")
while True:c = input("请输入查询单词:")if not c:breakif 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: #如果用户输入字符串就结束输入breakb = int(input("请输入年龄:"))c = int(input("请输入成绩:"))t = {}       # 一定要每次创建一个新的字典# t["名字:"],t["年龄:"],t["成绩:"] = (a,b,c)t["name"] = at["age"] = bt["score"] = cl.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,b,c):x = a + b+creturn x 
def pow3(x):d = x**3return d 
printsun = sum3(pow3(1),pow3(2),pow3(3))
print(printsun)
print(pow3(sum3(1,2,3)))

题例25

# 2.写一个函数 get_chinese_char_count(s),此函数功能是给定一个字符串是s,返回这个字符串中中文字符的个数
#    注:中文的编码范围是:0x4E00~0x9FA5def get_chinese_char_count(a):i = 0for x in a:if 0x4E00<=ord(x)<=0x9FA5:i+=1return i
s = 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: #如果用户输入字符串就结束输入breakb = int(input("请输入年龄:"))c = int(input("请输入成绩:"))t = {}#一定要每次创建一个新的字典t["名字:"],t["年龄:"],t["成绩:"] = (a,b,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 = 0for x in s:if 0x4E00<=ord(x)<=0x9FA5:i+=1return i# 改变量 infos = input_student() #把字典定义个变量 output_student(infos) #表格调用字典

题例27

# 1.算出100~999 以内的水仙花数(Narcissistic number)水仙花数是指百尾3次方加上十位的三次方加上各位的3次方
#    等于原数的整数
#    例如: 153 = 1**3 + 5**3 + 3**3
#    答案:  153,370,...# 方法1
for 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)# 方法3
for bai in range(1,10):for shi in range(0,10):for ge in range(10):x = bai * 100  + shi *10 +geif x  ==bai ** 3 + shi ** 3 +ge ** 3:print(x)

题例28

# 2.完全数:
#    1+2+3=6(6为完全数)
#    1,2,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 Truereturn Falsedef main():i = 2while 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,4,7]def myrange(start,stop=None,step=None):if stop is None: # if not stop:stop = startstart = 0if 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 += stepreturn lelif step < 0: # 反向l =[]while start > stop:l.append(start)start += stepreturn ll = myrange(4)
print(l)
l =myrange(4,6)
print(l)
l = myrange(1,10,3)
print(l)
l = myrange(10,1,-2)
print(l)

题例30

# 1. 写一个函数mysum(n),此函数用来计算
#    1+2+3+4+....+n 的和
#   (要求:不布允许调用sum)
#  如:
#    print(mysum(100)) #5050
#    print(mysum(4))#10def mysum1(n):s = 0for x in range(1,n+1):s = s+xreturn 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的和
# 方法1
def mysum(n):s = 0for x in range(1,n+1):s = s + x**xreturn s
print(mysum(3))# 方法2
def mysum(n):s = sum([x**x for x in range(1,n+1)])return s 
print(mysum(3))# 方法3
def 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的值# 方法1
def fum(n):from math import factorial as facs = 0for x in range(0,n+1):s = s + 1/(fac(x))return s
print(fum(20))# 方法2
def fum(n):from math import factorial as facreturn sum([1/fac(x) for x in range(n+1)])
print(fum(20))# 方法3
def fum(n):from math import factorial as facreturn sum(map(lambda x: 1/fac(x),range(n+1)))
print(fum(20))

题例33

# 2.写一个程序,以电子时钟格式打印时间:
# 格式为:
#  HH:MM:SS#  2.写一个程序,以电子时钟格式打印时间:
def show_time():import timewhile 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 time
while True:n = time.time()s = time.localtime(n)if s[3] ==a and s[4]==b and s[5]==c:print("时间到!")breakelse:print("%02d:%02d:%02d" % (s[3:6]),end="\r")time.sleep(1)def alarm(hour,minute):import timewhile 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("时间到!!!")returna = int(input("请输入小时:"))
b = int(input("请输入分钟:"))
alarm(a,b)

题例35

# 1. 随机生成6位密码:
#    可以作为密码的字符有:
#    a-z,A-Z,0-9
#    随机生成一个6位的密码# 方法1
import random as r
cord = ("qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789")
for s in range(0,6):d = r.randint(0,len(cord)-1)c = cord[d]print(c,end="")
print()# 方法2
import random
char = [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 random
import time
r = ["大王","小王"] #容器
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)# 方法2
poke = ["大王","小王"]
kinds = ["\u2660","\u2663","\u2665","\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 random
random.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米高空落下,每次落地后反弹高度为原高度的一半,再落下,写程序算出:
#    1) 皮球在第10次落地后反弹的高度
#    2) 皮球在第10次落地反弹后共经历多少米路程

s = 100
lucheng = 0
for x in range(10):s = s / 2 lucheng = lucheng + (s+s/2)*2
print(s)
print(lucheng)def get_last_height(height,times):"""height 原来的高度times  为反弹次数"""for _ in range(times):height /= 2 # 每次反弹高度为原高度的一半return height
print("皮球从100米高度落下反弹十次后高度为:",get_last_height(100,10))def get_distance(height,times):meter = 0 # 用来记录总路程for _ in range(times):# 累加下落过程的路程meter += heightheight /=2 # 计算返回后的高度# 累加反弹之后的路程meter += heightreturn meter
print("皮球从100米高度落下反弹十次后的总路程为:",get_distance(100,10))

题例38

# 2.分解质因数,输入一个正整数,分解质因数
# 如:
#    输入: 90
#    打印:
#    90 = 2 * 3 * 3 * 5
#    (质因数是指最小能被原数整数的素数(不包括1))print("----------"*10)
# 方法1 s
= int(input("请输入一个整数:")) n=s if s ==2:print(s) else:l = []while True:for x in range(2,s+1):if s % x==0:s = s // xl.append(str(x))breakif s==1:break a=" * ".join(l) print(n,"=",a)
# 方法2(封装)
def get_zhiyin_list(x):"""此函数返回x的质因数的列表如x = 90返回[2,3,3,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 # 进入下一次whilereturn lx = int(input("请输入正整数:")) l = get_zhiyin_list(x) l2 = (str(x)for x in l) print(x,"=","*".join(l2))

转载于:https://www.cnblogs.com/Axianba/p/11133898.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue : 引入、安装 jquery 、bootstrap

一、vue安装jquery 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1、新建一个vue工程。 2、在项目文件夹下&#xff0c;使用命令 npm install jquery --save-dev 引入jquery。 np…

2013驾考科目三考试难点解析

原来规定科目三考试上车准备、起步、直线行驶等13个道路驾驶技能项目。123号令实施后&#xff0c;科目三考试分两部分。道路驾驶技能考试项目增加到16项&#xff0c;增加了加减挡位操作、路口左转弯、路口右转弯3个考试项目&#xff0c;驾驶里程也增加。如何顺利通过2013驾考科…

leetcode练习——栈(1)

题号20&#xff1a;Invalid Parentheses Given a string containing just the characters (, ), {, }, [ and ], determine if the input string is valid. An input string is valid if: Open brackets must be closed by the same type of brackets.Open brackets must be…

Asp.Net MVC 页面代码压缩筛选器-自定义删除无效内容

Asp.Net MVC 页面代码压缩筛选器 首先定义以下筛选器&#xff0c;用于代码压缩。 /*页面压缩 筛选器*/public class WhiteSpaceFilter : Stream{private Stream _shrink;private Func<string, string> _filter;public WhiteSpaceFilter(Stream shrink, Func<string, s…

基于java的数据结构学习——数组实现的队列和循环队列及性能对比

队列 Queue 队列也是一种线性结构相比数组&#xff0c;队列对应的操作是数组的子集只能从一端&#xff08;队尾&#xff09;添加元素&#xff0c;只能从另一端&#xff08;队首&#xff09;取出元素队列是一种先进先出的数据结构 队列的实现及复杂度分析 Queue<E> voi…

新手如何准确的控制油门

日常练车还不赖&#xff0c;可是一换车就容易加大油门儿&#xff0c;有啥子办法能美好的扼制油呢?和调的坐位有关系吗? 答&#xff1a;油门儿跟刹车被视为交通工具扼制的魂灵。交通工具引擎发动机的油门儿&#xff0c;通常是靠踏板来扼制的&#xff0c;也称加速踏板&#xff…

vue 项目:文件夹 结构 、配置详解

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 项目配置 首先&#xff0c;在确定好使用的框架和组件库后&#xff0c;先要大致了解它们&#xff0c;做到文档基本熟悉。本次开发使用…

hdoj2553(N皇后问题)

Problem : 2553 ( N皇后问题 ) Judge Status : Accepted RunId : 2619754 Language : G Author : huwenbiao Code Render Status : Rendered By HDOJ G Code Render Version 0.01 Beta/***************************************************************\ *Author:Hu…

基于java的数据结构学习——数组实现的栈以及简单应用C++实现

基于java的数据结构学习——数组实现的栈以及简单应用的 C 实现 源码&#xff1a; // // Created by PC-Saw on 2019/1/3. //#ifndef DATA_STRUCTURE_ARRAYSTACK_H #define DATA_STRUCTURE_ARRAYSTACK_H#include "Stack.h" #include "MyArray.h"template&…

女性开车5大安全驾车好习惯 为您支招

一些女性车主技术不够熟练&#xff0c;紧急处理能力差&#xff0c;开车过程中需要注意更多的细节。养成一些好习惯&#xff0c;对于女性车主来说&#xff0c;开车的安全度会大大提高。 ● 车窗上不挂毛绒玩具 汽车是生活的一部分空间&#xff0c;许多女性车主都喜欢把这部分空间…

DIV 半透明层、 CSS实现网页 背景半透明

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 DIV半透明实现&#xff0c;使用CSS实现DIV成半透明效果&#xff0c;CSS实现层与背景半透明效果。 一、DIV CSS半透明基础介绍 - …

node 安装 webpack

首先要安装 Node.js&#xff0c; Node.js 自带了软件包管理器 npm&#xff0c;Webpack 需要 Node.js v0.6 以上支持&#xff0c;建议使用最新版 Node.js。 用 npm 安装 Webpack&#xff1a; $ npm install webpack -g此时 Webpack 已经安装到了全局环境下&#xff0c;可以通过命…

Thinking in C++遇到的函数指针及应用

// // Created by PC-Saw on 2019/1/24. //#include <iostream>#define TEST 2/* 1. */ typedef int* (*(*fp1)(int))[10]; // 首先是一个函数指针&#xff0c;接受一个int型参数&#xff0c;返回一个指向10个int指针数组的指针 /* 2. */ typedef i…

html 标签内背景图片自适应 div 大小

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 只需通过css设置background-size属性为contain&#xff0c;即 background-size:contain 注意&#xff1a;一定要在先设置background之…

Code Project精彩系列(转)

Code Project精彩系列&#xff08;转&#xff09; Applications Crafting a C# forms Editor From scratch http://www.codeproject.com/csharp/SharpFormEditorDemo.asp 建立一个类似C#的环境, 实现控件拖拉&#xff0c;属性 Packet Capture and Analayzer 网络封包截获 http…

加速时如何换挡

加速时如何换挡&#xff0c;您知道吗?为了使换挡过程顺利进行&#xff0c;变速器内齿轮平稳啮合&#xff0c;必须掌握好发动机转速&#xff0c;在适当时机推动变速杆操纵齿轮啮合。为此&#xff0c;要通过反复练习&#xff0c;一边踩踏油门踏板&#xff0c;一边听发动机运转声…

C++ 学习杂谈:sizeof和sizeof(string)的问题

最近遇到一个令我困惑的问题&#xff0c;就是 sizeof&#xff08;string&#xff09;的值&#xff0c;之前在vs2010上测得是固定28&#xff0c;最近在用CLion&#xff0c;上面测得是4&#xff0c;出现了不一样的结果&#xff0c;我又在vs2013上试了一下&#xff0c;结果又不一样…

vue 项目 引用(外部) js、css

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我的工程结构&#xff1a; 1. 引入 css 有 2 种方式&#xff1a; 方式 1 <script type"text/javascript">import .…

FAQ:Container Classes篇

1、Why should I use container classes rather than simple arrays?&#xff08;为什么应该使用容器类而不是简单的数组&#xff1f;&#xff09; In terms of time and space, a contiguous array of any kind is just about the optimal construct for accessing a sequen…

自动挡车挡位的基本知识介绍

一般来说&#xff0c;自动档汽车的自动变速器的档位分为P、R、N、D、2 (或S)、L(或1)等。下面分别详细介绍如下&#xff1a; P (Parking) 停车档&#xff0c;或称泊车档&#xff1a; P用作停车之用&#xff0c;它是利用机械装置去锁紧汽车的转动部分&#xff0c;使汽车不能移动…