1.九九乘法表
#1九九乘法表
import time #导入模块
print('Loading:',end='')
for i in range(5):
print('.',end='',flush=True)
time.sleep(0.5)
print('"\n\t\t\t九九乘法表"')
print(end='\t')
for i in range(1,10):
print(i,end='\t')
print()
print(end='\t')
for i in range(1,34):
print(end='\t')
for j in range(1,10):
if i>j:
print(i*j,end='\t')
print()
2.计算一元二次方程ax2+bx+c=0的两个实根,(a!=0 且 b2-4ac>0)
import math
a=float(input('请输入二次项系数:'))
b=float(input('请输入一次项系数:'))
c=float(input('请输入常数项:'))
x1=(-b+math.sqrt(b*b-4*a*c))/(2*a)
x2=(-b-math.sqrt(b*b-4*a*c))/(2*a)
print('x1=',x1,'x2=',x2)
#由于sqrt开平方根方法在math模块中,则需要导入。
#且input()函数在python3中返回值为字符串,需要使用float()函数进行转换。
3.输入一个四位整数,输出每一位及后三位
x=int(input('请输入一个四位整数'))
print('千位=',x//1000)
print('百位=',x//100%10)
print('十位=',x//10%10)
print('个位=',x%10)
print('前三位=',x//10)
print('后三位=',x%1000)
4.对浮点数进行四舍五入,如:8.32433->8.32 8.32533->8.33
x=float(input('请输入一个浮点数:'))
y=round(x,2)
print('四舍五入:',y)
x=int(x*100+0.5)/100
print('四舍五入:',x)
5.绘制三角形
import turtle as t
t.pensize(10)
t.right(60)
t.forward(100)
t.right(120)
t.forward(100)
t.right(120)
t.forward(100)
t.done()
6.绘制五角星
import turtle as t
t.pensize(10)
t.color('red')
t.right(72)
t.forward(100)
t.right(144)
t.forward(100)
t.right(144)
t.forward(100)
t.right(144)
t.forward(100)
t.right(144)
t.forward(100)
t.done()
7.绘制奥林匹克环
import turtle
turtle.pensize(10)
turtle.color('blue')
turtle.penup()
turtle.goto(-110,-25)
turtle.pendown()
turtle.circle(45)
turtle.color('black')
turtle.penup()
turtle.goto(0, -25)
turtle.pendown()
turtle.circle(45)
turtle.color("red")
turtle.penup()
turtle.goto(110,-25)
turtle.pendown()
turtle.circle(45)
turtle.color('yellow')
turtle.penup()
turtle.goto(-55,-75)
turtle.pendown()
turtle.circle(45)
turtle.color('green')
turtle.penup()
turtle.goto(55,-75)
turtle.pendown()
turtle.circle(45)
turtle.done()
8.输入一个十进制数,转换为二进制、八进制、十六进制数
num = int(input("输入数字:"))
print('十进制数为:',num)
print('转换为二进制为:',bin(num))
print('转换为八进制为:',oct(num))
print('转换为十六进制为:',hex(num))
9.输入一个华氏温度,要求输出摄氏温度,公式为;C=5/9*(F-32)
F=int(input('请输入华氏温度:'))
C=5/9*(F-32)
print('摄氏温度为:%.2f'%C)
10.从键盘读入两个整数a,b合并生成一个新的四位数c, 例如 a=54,b=12.则c的值应该是5142。
a=int(input('请输入一个2位数:'))
b=int(input('请输入一个2位数:'))
c=a//10*1000+b//10*100+a%10*10+b%10
print(c)
11.财务人员给员工发工资时经常遇到这样一个问题,即根据每个人 的工资额(单位:元)计算出各种面值的钞票的张数,且要求总张数最少
gz=int(input('请输入本月工资:'))
print('100元:',gz//100,'张')
gz = gz % 100
print("50元:", gz // 50, "张")
gz = gz % 50
print("20元:", gz // 20, "张")
gz = gz % 20
print("10元:", gz // 10, "张")
gz = gz % 10
print("5元:", gz // 5, "张")
print("1元:", gz % 5, "张")
12.输入三角形的三边长,求三角形面积。
import math
a = int(input())
b = int(input())
c = int(input())
s = (a + b + c) / 2
area = math.sqrt(s * (s - a) * (s - b) * (s - c))
# area=(s*(s-a)*(s- b)*(s-c))**0.5
print(area)
13.输入2个数,输出最大值
a=int(input())
b=int(input())
max =a
if a
14.输入一个整数判断奇数偶数
num=int(input('请输入数字:'))
if num%2==1:
print('奇数')
else:
print('偶数')
num=int(input('请输入数字:'))
if num &1==1:
print('奇数')
else:
print('偶数')
15.判断一个数是否能被7或11整除但不能同时整除
num=int(input('请输入数字:'))
if(num%7==0 or num %11==0 ) and num %77!=0:
print('yes')
else:
print('no')
16.判断某一年是否为闰年:能被4整除但不能被100整除,或者能被400整除
year=int(input('请输入四位数年份'))
if year %4==0 and year%100 !=0 or year %400==0:
print('闰年')
else:
print('平年')
17.《车辆驾驶人员血液、呼气酒精含量阈值与检验》标准中规定:驾驶员血液酒精小20mg/100ml 不构成酒驾,大于或等于20mg/ml、小于80mg/ml为饮酒驾驶则暂扣6个月 机动车驾驶1000~2000元罚款、一次记12分;驾驶员血液酒精大于或等于80mg/ml为 醉酒驾驶则约束至酒醒、吊销驾驶证、5年内不得重新获取驾驶证、追究刑事责任(注意:饮用350mL(约相当于1小瓶)啤酒或半两白酒(20ml)后,血液酒精浓度可达 20mg/100ML,即达到饮酒驾驶的处罚条件)
proof = int(input("请输入100ml血液的酒精含量:"))
if proof <20:
print('不构成酒驾,请注意安全!')
else:
if proof<80:
print('酒驾,暂扣6个月机动车驾证,1000-2000元罚款,一次记12分')
else:
print('醉驾,约束至酒醒,吊销驾驶证,5年内不得重新获取驾驶证,追究刑事责任')
18.输入三个整数,降序输出
a=int(input())
b=int(input())
c=int(input())
if a>b:
if a>c:
if b>c:
print(a,b,c)
else:
print(a,c,b)
else:
print(c,a,b)
else:
if a>c:
print(b,a,c)
elif b>c:
print(b,c,a)
else:
print(c,b,a)
19.输入一个百分制成绩,根据输出等级成绩
num=int(input('请输入百分制成绩:'))
if num>100 or num<0:
print("数据错误,请输入0-100范围内数字!")
elif num>=90:
print('优秀')
elif num>=80:
print("良好")
elif num>=60:
print('及格')
else:
print("补考")
20.计算1+2+3+4+5+……+100之和
#while循环
num=0
i=1
while i<100:
sum=sum+i
i+=1
print("sum=",sum)
sum=0
for i in range(101):
sum+=i
print("sum=",sum)
21.计算下列多项式之和
sum=0
for i in range(1,101):
sum=sum+1/i
print('sum=%.6f'%sum)
22.计算下列多项式之和
sum=1
f=-1
for i in range(2,101):
sum=sum+1 /i*f
f=-f
print('sum=%.6f'%sum)
23.计算下列多项式之和
sum=0
t=0
for i in range(1,101):
t=t+i
sum=sum+1/t
print("sum=%.6f"%sum)
24.计算下列多项式的值
sum = 1
num = 1
for i in range(2,101):
num = num +i
sum = sum + 1/num
print('%.6f'%sum)
# 1.980198
25.计算下列多项式的和
z = 3
m = 2
t = 0
sum = 0
for i in range(20):
t = z
z = m+z
m = t
sum = sum + z/m
print('%.6f'%sum)
# 32.396329
26.计算π的近似值公式
pi = 1
f = -1
i = 3
while 1/i>1e-6:
pi = pi +1/i*f
f = -f
i = i+2
print('pi=%.6f'%(pi*4))
# pi=3.141591
27.用泰勒级数计算e的近似值,直到最后一项小于1e-6为止,e=1+1/1!+ 1/2! +1/3!+……1/n!
sum = 1
t = 1
i = 1
while 1/t>1e-6:
t = t*i
sum = sum + 1/t
i += 1
print('sum=%.6f'%sum)
# sum=2.718282
28.计算a+aa+aa+aaa…aaa的值,计算前六项和,a=2
a = 2
sum = 0
for i in range(6):
sum = sum + a
a = a*10 + 2
print('sum = ',sum)
# sum = 246912
29.计算r=1到r=10时的圆的面积,直到面积大于100为止
import math as a
for r in range(1,11):
area = a.pi*r*r
if area>100:
break
print('r:',r,'area: is:%.6f'%area)
# r: 6 area: is:113.097336
30.将100-150之间的不能被3整除的数输出,一行输出10个数
i = 0
for n in range(100,151):
if n%3 == 0:
continue
print(n,end=' ')
i+= 1
if i%10 == 0:
print()
31.找出2,3,5的最小公倍数
for i in range(1, 100):
if i % 2 == 0 and i % 3 == 0 and i % 5 == 0:
print('%d是2,3,5的最小公倍数' % i)
break
else:
print('未找到!')
# 30是2,3,5的最小公倍数
32.输入一个整数,判断是否为素数:
#方法1
prime=int(input('请输入一个正整数:'))
if prime<2: #保证输入数据大于2
print('请输入大于2的正整数!')
else:
for i in range(2,prime):
if prime%i==0:
print('平数')
break
else: #循环顺利结束后执行
print('素数')
#方法:2
prime=int(input('请输入一个正整数:'))
i=2
if prime<2:
print('请输入大于2的整数!')
else:
while prime%i:
i=i+1
if i==prime:
print('素数')
else:
print('平数')
33.输出100以内的素数
for i in range(2,100): #遍历2到99
for j in range(2,i): #判断i是否为素数
if i%j==0:
break
else:
print(i,end=' ') #输出素数
34.输出200到400间的非素数
for i in range(200,400):
for j in range(2,i):
if i%j==0:
print(i)
break
35.输出大于m且紧随m的k个素数,如:m=5 k=3 结果为:7 11 13
#变量初始值
m=int(input('请输入起始值:'))
k=int(input('请输入需要的素数个数:'))
i=m+1
t=0 #计数器,记录找到的素数个数
while t
36.输出100以内的能被9整除余数为2的数,计算其平均值的平方根并输出
aver=0
t=0 #计算器
for i in range(1,101):
if i%9==2: #计算对9取余余数为2
print(i,end=' ')
aver=aver+i #计算和值
t=t+1 #记录个数
print('\n aver=%.2f'%((aver/t)**0.5))
37.输出水仙花数,每位数的立方和等于原值,如:153==1^3+5^3+3^3
for i in range(100,1000):
if(i%10)**3+(i//10%10)**3+(i//100)**3==i:
print('水仙数:',i)
38.输出1000以内的完数,完数:因子之和等于原值,如:6==1+2+3
i in range(6,1000): #遍历0到999,最小完数为6
sum=0 #每判断一个i必须先清零其因子之和
for j in range(1,i): #寻找i的因子
if i%j==0:
sum=sum+j #计算因子之和sum
if sum==i: #判断因子之和是否等于原数
print(i,end=' ')
39.输出100以内的同构树,同构树:若一个正整数出现在它的平方数的右侧则为同构数,如:5==25 6==36 25==625
for i in range(100):
#100以内的同构数平方后可能为2位数或者3位数
if i==i * i % 10 or i == i * i % 100:
print(i,end=' ')
40.输出200以内的回文数字
(整数倒置算法)
for i in range(100):
t=0 #倒置后数
m=i
while m>0: #对i进行整数倒置
t=t * 10+ i % 10
m=m//10
if t==i:
print(i,end=' ')
41.求整数a与b的最小公倍数
#法1:
a=int(input('请输入一个数:'))
b=int(input('请输入一个数:'))
i=1
while True: #循环恒真时执行下列语句
if i%a==0 and i%b==0:
print("最公倍数:",i)
break #第一次找到公倍数时就跳出循环,保证是最小
i+=1 #当前a=5,b=7,i循环35圈
#法2:
a=int(input('请输入一个数:'))
b=int(input('请输入一个数:'))
i=0
while 1:
i+=a #i默认是a的倍数
if i%b==0:
print('最小公倍数:',i)
break
42.求整数x和y的最大公约数以及最小公倍数
x=int(input('请输入一个数:'))
y=int(input('请输入一个数:'))
lcm=x*y #lcm是最小公倍数
while x%y!=0: #辗转相除法
t=x%y
x=y
y=t
gcd=y #gcd是最小公约数
lcm=lcm // gcd
print('最大公约数:',gcd,'最小公倍数:',lcm)
43.用户在键盘输入一个四位数整数,需要转换为英文单词输出,如:输入1024,One Zero Two Four
t=1000
num=int(input('请输入一个四位数整数:'))
if num>=1000 and num<10000:
while t>0:
if num//t%10==0:
print('Zero',end=' ')
elif num//t%10==1:
print('One',end=' ')
elif num//t%10==2:
print('Two',end=' ')
elif num // t % 10 ==3 :
print('Three', end=' ')
elif num//t%10==4:
print('Four',end=' ')
elif num//t%10==5:
print('Five',end=' ')
elif num//t%10==6:
print('Six',end=' ')
elif num//t%10==7:
print('Seven',end=' ')
elif num//t%10==8:
print('Eight',end=' ')
elif num//t%10==9:
print('Nine',end=' ')
t=t//10
else:
print('请输入四位正整数:')
#整数由左向右拆分
44.Fibonacci数列,古典数学问题:有一对兔子,从出生后第三个月都生一对兔子,小兔子到第三个月每个月有都生一对兔子,假设兔子不死,问每月兔子数字规律:1 1 2 3 5 8 13 .....a1=0
a1=1
a2=1
for i in range(6):
print(a1,a2,end=' ')
a1=a1+a2
a2=a1+a2
#当前项等于前两项之和
45.计算Fibonacci数列中大于t的最小值,如:t=6 输出8
t=int(input("请输入一个正整数:"))
a1=0
a2=1
a3=1
while a3<=t:
a1=a2
a2=a3
a3=a1+a2
print('大于',t,'的Fibonacci数列中的最小值是:',a3)
46.有一张足够大的纸,厚度为0.09mm,问对折多少次其厚度会超过珠穆朗玛峰的高度(8848m)
t=0
h=0.09e-3 #纸的厚度,单位统一为米
while 1:
h=h*2 #对折,即厚度乘以2
t=t+1 #对折次数
if h>8848:
break
print('对折次数:',t)
47.爱因斯坦阶梯问题,有多级阶梯,每步跨两阶余1阶,每步跨3阶余2阶,每步跨5阶余4阶,每步跨6阶余5阶,每步跨7阶都正好到顶,问该阶梯一共多少阶?
i=7
while 1:
if i%2==1 and i%3==2 and i%5==4 and i%6==5 :
break
i+=7
print('阶梯总数:',i)
48.百钱买百鸡问题,鸡翁值钱伍,鸡母值钱叁,鸡雏叁值壹钱,百钱买百鸡,鸡翁,鸡母,鸡雏各几何?
for cocks in range(101):
for hens in range(101):
for chicks in range(101):
if cocks+hens+chicks==100 and cocks*5+hens*3+chicks//3==100 and chicks%3==0:
print('公鸡',cocks,'只','母鸡=',hens,'只','小鸡=',chicks,'只')
49.搬砖问题:36人搬36块砖,男搬4,女搬3,两个小孩抬一块砖,一次性搬完,需要男,女,小孩各多少人?
for m in range(10):
for w in range(14):
for c in range(73):
if m+w+c==36 and m*4+w*3+c//2==36 and c%2==0:
print('男=',m,'人','女=',w,'娃=',c,'人')
50.猴子偷桃,一天吃一半还要多吃一个,第七天吃完,问偷桃总数?
n=0
for i in range(7):
n=(n+1)*2
print('偷桃总数:',n)
51.打印如下图形:
h=int(input('请输入图形高度:'))
for i in range(4):
for j in range(0,4-i-1):
print(' ',end='')
for k in range(0,2*i+1):
print('*',end='')
print()
52.打印如下图形:
for i in range(7):
for j in range(i):
print(' ',end='')
for k in range(2*(7-i)-1,0,-1):
print('*',end='')
print()