文章目录

  • 第1个例子:特殊字符
  • 第2个例子:12星座
  • 第3个列子:文本进度条
  • 第4个例子:单行动态刷新
  • 第5个例子:完整进度条。
  • 第6个例子:身体质量指数BMI。
  • 第7个例子:求∏。
  • 第8个例子:四位玫瑰数
  • 第9个例子:100以内素数之和
  • 第10个例子:连续质数计算
  • 第11个例子:九九乘法表


第1个例子:特殊字符

星座查询程序 python程序 python星座问题_进度条

第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。

星座查询程序 python程序 python星座问题_运行时间_02


代码实现:

#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个例子:求∏。

方法一:

星座查询程序 python程序 python星座问题_代码实现_03


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

方法二:蒙特卡罗方法

星座查询程序 python程序 python星座问题_星座查询程序 python程序_04


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可能是浮点数,应对输入取整数;最后一个输出后不用逗号。

星座查询程序 python程序 python星座问题_运行时间_05


方法一:

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