2. (P4-prg2.py)编写程序,格式化输出杨辉三角。杨辉三角即二项式定理的系数表,各元素满足如下条件:第一列及对角线上的元素均为1;其余每个元素等于它上一行同一列元素与前一列元素之和。
提示:可以使用“print("1".center(20))”的语句形式在一行上打印20个字符,并且居中对齐。
num = int(input("请输入杨辉三角的行数:"))
while(num<1):
num = int(input("请输入杨辉三角的行数:"))
def triangle():
m = [1]
while True:
yield m #在执行过程中,遇到yield就中断,下次又继续执行
m = [1] + [m[i] + m[i+1] for i in range(len(m)-1)] + [1]
n = 0
for i in triangle():
print(str(i).center(100))
n = n + 1
if n == num:
break
3. (P4-prg3.py)编程计算有固定工资收入的党员每月所交纳的党费。工资基数3000元及以下者,交纳工资基数的0.5%;工资基数3000~5000元者,交纳工资基数的1%;工资基数在5000~10000元者,交纳工资基数的1.5%;工资基数超过10000元者,交纳工资基数的2%。
income = float(input("请输入党员的工资:"))
if income<= 3000:
tax = income *0.005
elif income<=5000:
tax = income*0.01
elif income<=10000:
tax = income *0.15
else:
tax = income*0.02
print("该党员应缴纳的党费为:",tax,"元")
4. (P4-prg4.py)编程实现袖珍计算器,要求输入两个操作数和一个操作符(+、-、*、/、%),根据操作符输出运算结果。注意“/”和“%”运算符的零除异常问题。
print("欢迎使用袖珍计算器")
m = float(input("请输入第一个操作数:"))
n = float(input("请输入第二个操作数:"))
operator = input("请输入操作符(+、-、*、/、%):")
if(n == 0 and (operator == '/' or operator == '%')):
print("运算符零除异常")
else:
if operator == '+': result = m+n
elif operator == '-': result = m-n
elif operator == '*': result = m*n
elif operator == '/': result = m/n
elif operator == '%': result = m%n
print(result)
5. (P4-prg5.py)我国汉代有位大将,名叫韩信。他每次集合部队,只要求部下先后按l~3、1~5、1~7报数,然后再报告一下各队每次报数的余数,他就知道到了多少人。他的这种巧妙算法被人们称为“鬼谷算”,也叫“隔墙算”,或称为“韩信点兵”,外国人还称它为“中国余数定理”。即有一个数,用3除余2,用5除余3,用7除余2,请问0~1000中这样的数有哪些?
print("0-1000中这样的数有:")
for i in range(0,1001):
if((i % 3 == 2 )and (i % 5 == 3) and (i % 7 == 2)):
print(i, end=" ")
6. (P4-prg6.py)一球从100米的高度自由落下,每次落地后反弹回原高度的一半,再落下。求小球在第10次落地时共经过多少米?第10次反弹多高?
sum = 0
height = 100
up = 0
for i in range(1,11):
sum += height + up
height = up = height/2
print("小球在第十次落地时共经过:{0}米,第十次反弹高度:{1}米".format(sum,height))