文章目录
- 第1个例子:特殊字符
- 第2个例子:12星座
- 第3个列子:文本进度条
- 第4个例子:单行动态刷新
- 第5个例子:完整进度条。
- 第6个例子:身体质量指数BMI。
- 第7个例子:求∏。
- 第8个例子:四位玫瑰数
- 第9个例子:100以内素数之和
- 第10个例子:连续质数计算
- 第11个例子:九九乘法表
第1个例子:特殊字符
第2个例子:12星座
#打印星座
from termcolor import *
constellation="白羊金牛双子巨蟹狮子处女天枰天蝎射手摩羯水瓶双鱼"
for i in range(12):
pos=2*i
if i%3==0 :
print()
a=colored("{:^5}".format(chr(9800+i)),"magenta")
b = "{:<2}".format(constellation[pos:pos + 2] + "座")
print(a,b,end=" ")
print()
♈ 白羊座 ♉ 金牛座 ♊ 双子座
♋ 巨蟹座 ♌ 狮子座 ♍ 处女座
♎ 天枰座 ♏ 天蝎座 ♐ 射手座
♑ 摩羯座 ♒ 水瓶座 ♓ 双鱼座
第3个列子:文本进度条
#TextProBarV1.py
import time
scale=10
print("------执行开始-------")
for i in range(scale+1):
a='*'*i
b='.'*(scale-i)
c=(i/scale)*100
print("{:^3.0f}%[{}->{}]".format(c,a,b))
time.sleep(0.1)
print("------执行结束------")
------执行开始-------
0 %[->..........]
10 %[*->.........]
20 %[**->........]
30 %[***->.......]
40 %[****->......]
50 %[*****->.....]
60 %[******->....]
70 %[*******->...]
80 %[********->..]
90 %[*********->.]
100%[**********->]
------执行结束------
第4个例子:单行动态刷新
#TextProBarV1.py
import time
for i in range(101):
print("\r{:3}%".format(i),end="")
time.sleep(0.1)
100%
第5个例子:完整进度条。
#TextProBarV3.py
import time
scale=50
print("执行开始".center(scale//2,"-"))
start=time.perf_counter()
for i in range(scale+1):
a='*'*i
b="."*(scale-i)
c=(i/scale)*100
dur=time.perf_counter()-start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
time.sleep(0.1)
print("\n"+"执行结果".center(scale//2,"-"))
运行结果是动态的。
-----------执行开始----------
100%[**************************************************->]5.03s
-----------执行结果----------
第6个例子:身体质量指数BMI。
代码实现:
#CalBMIv3.py
height,weight=eval(input("请输入身高(m)和体重(kg)[用逗号隔开]:"))
bmi=weight/pow(height,2)
print("BMI 数值为:{:.2f}".format(bmi))
who,nat="",""
if bmi<18.5:
who,nat="偏瘦","偏瘦"
elif 18.5<=bmi<24:
who,nat="正常","正常"
elif 24<=bmi<25:
who,nat="正常","偏胖"
elif 25<=bmi<28:
who,nat="偏胖","偏胖"
elif 28<=bmi<30:
who,nat="偏胖","肥胖"
else:
who,nat="肥胖","肥胖"
print("BMI指标为:国际'{0}',国内'{1}'".format(who,nat))
运行结果:
请输入身高(m)和体重(kg)[用逗号隔开]:1.79,90
BMI 数值为:28.09
BMI指标为:国际'偏胖',国内'肥胖'
第7个例子:求∏。
方法一:
1.代码实现:
#CalPiV1.py
pi=0
N=100
for k in range(N):
pi+=1/pow(16,k)*( \
4/(8*k+1)-2/(8*k+4)- \
1/(8*k+5)-1/(8*k+6))
print("圆周率值是:{}".format(pi))
2.运行结果
圆周率值是:3.141592653589793
方法二:蒙特卡罗方法
1.代码实现:
#CalPiV2.py
from random import random as r
from time import perf_counter as t
DARTS=1000*1000 #试验次数
hits=0.0 #命中次数
start=t()
for i in range(1,DARTS+1):
x,y=r(),r()
dist=pow(x**2+y**2,0.5) #点到原点之间的距离
if dist<=1.0:
hits=hits+1
pi=4*(hits/DARTS)
print("圆周率值是:{}".format(pi))
print("运行时间是:{:.5f}s".format(t()-start))
2.运行结果:
圆周率值是:3.143804
运行时间是:0.69128s
第8个例子:四位玫瑰数
描述
四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。
例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数。
请输出所有4位数的四位玫瑰数,按照从小到大顺序,每个数字一行。
1.代码实现:
for i in range(1000,10000):
if i==pow(i%10,4)+pow((i//10)%10,4)+pow((i//100)%10,4)+pow((i//1000)%10,4):
print(i)
2.运行结果:
1634
8208
9474
第9个例子:100以内素数之和
1.代码实现:
sum = 2
for i in range(3,100):
for j in range(2,i):
if i%j == 0:
break
else:
sum += i
print(sum)
注:else是和内层的for循环使用的。当内层循环不跳出,也就是没有执行if为false,作为奖励就执行else语句,否则不执行。
2.运行结果:
1060
第10个例子:连续质数计算
描述
补充编程模板中代码,完成如下功能:
获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。
注意:需要考虑用户输入的数字N可能是浮点数,应对输入取整数;最后一个输出后不用逗号。
方法一:
def prime(m):
list=[]
for i in range(m, 10000):
for j in range(2, i):
if i % j == 0:
break
else:
list.append(i)
if len(list) == 5:
break
return list
n = eval(input())
n_=int(n)
n_=n_+1 if n_<n else n_
for i in prime(n_):
if i==prime(n_)[4]:
print ("{}".format(i),end="")
else:
print("{},".format(i),end="")
13.1
17,19,23,29,31
方法二:
def prime(m):
for i in range(2,m):
if m % i == 0:
return False
return True
n = eval(input())
n_ = int(n)
n_ = n_+1 if n_ < n else n_
count = 5
while count > 0:
if prime(n_):
if count > 1:
print(n_, end=",")
else:
print(n_, end="")
count -= 1
n_ += 1
第11个例子:九九乘法表
1.代码实现:
for row in range(1,10):
for col in range(1,row+1):
print("%d*%d=%d" %(row,col,row*col),end=" ")
print()
注:end=" ",每次输出都会留空格。
2.运行结果:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81