python练习小程序 1 - 4单元

温度转换

在这里插入图片描述

#获取输入字符串
str1 = input()
#判断最后一位
if str1[-1] in ['F','f']:
	#进行转换
    C = (eval(str1[0:-1])-32)/1.8
    #格式化输出
    print("{:.2f}C".format(C))
elif str1[-1] in['C','c']:
    F = eval(str1[0:-1])*1.8+32
    print("{:.2f}F".format(F))
else:
    print("输入格式错误")


输出HelloWorld

print("Hello World")

数字形式转换 I

在这里插入图片描述

#0 - 》 零 可以建立起 数字到下标的映射
strs = "零一二三四五六七八九"
strIn = input()
#遍历字符串
for c in strIn:
	#打印数字对应的字符,并且不做换行处理
    print(strs[eval(c)],end="")

温度转换II

在这里插入图片描述

str1 = input()
if str1[0] == "F":
    C = (eval(str1[1:]) -32) / 1.8
    print("C{:.2f}".format(C))
elif str1[0] == "C":
    F = eval(str1[1:])* 1.8 +32
    print("F{:.2f}".format(F))

货币转换

在这里插入图片描述

Str1 = input()
if Str1[0:3] == "RMB":
    U = eval(Str1[3:])/6.78
    print("USD{:.2f}".format(U))
elif Str1[0:3] == "USD":
    R = eval(Str1[3:])*6.78
    print("RMB{:.2f}".format(R))

绘制正方形

在这里插入图片描述

import turtle as t
for i in range(4):
    t.fd(200)
    t.left(90)

t.done()

输出六边形

在这里插入图片描述

import turtle as t
for i in range(6):
    t.fd(90)
    t.left(60)
t.done()

绘制叠边形

在这里插入图片描述

import turtle as t

for i in range(9):
    t.fd(90)
    t.left(80)
t.done()

风车

在这里插入图片描述

import turtle as t
def draw():
    t.fd(75)
    t.right(90)
    t.circle(-75,45)
    t.right(90)
    t.fd(75)
angle = 0
for i in range(4):
    t.seth(angle)
    draw()
    angle+=90

t.done()

天天向上的力量

在这里插入图片描述

A = pow(1.01,365)

def exceed(fd):
    dayup = 1
    for i in range(365):
        if i % 7 in [0,6]:
            dayup *= 1-0.01
        else:
            dayup *= 1+ fd
    return dayup

df = 0.01
while exceed(df) < A:
    df+=0.001
print("工作日的努力参数是:","{:.3f}".format(df))

文本进度条

在这里插入图片描述

import time
scale = 50
print("执行开始".center(50//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(50//2,"-"))

三次方的格式化

在这里插入图片描述

number = pow(eval(input()),3)
#使用格式化
#print("{:-^20}".format(number))
#使用center函数
print("{}".format(number).center(20,"-"))

星号三角

在这里插入图片描述

number = eval(input())
for i in range((number+1)//2):
    print("{}".format((i*2+1) * "*").center(number," "))

凯撒密码

s = input()
t = ""
for c in s:
	#如果这个字符在小写a 和小写z 之间
    if 'a' <= c <= 'z':
    	# 用ord 获取这个字符在Uniocde 编码对应的数字,a - z 一定时连续的
    	#获取到之后计算它与a 字符的差值,就能知道它对应的偏移,
    	#然后在使用计算公式计算它密文的对应偏移,在加上初始值’a‘ 对应的数字
    	# 最后使用 chr 转换成字符
        t += chr(ord("a") + (ord(c)-ord("a")+3)%26 )
    elif 'A' <= c <= 'Z':
        t += chr(ord("A") + (ord(c)-ord("A")+3)%26 )
    else :
        t+=c
print(t)

身体质量BMI

在这里插入图片描述

hight , weight = eval(input())
bmi = weight / pow(hight,2)
who , cha = "",""
if bmi < 18.5:
    who,cha = "偏瘦","偏瘦"  
elif 18.5 <= bmi < 24:
    who,cha = "正常","正常"  
elif  24 <= bmi < 28:
    who,cha = "偏胖","偏胖"  
elif 28 <= bmi <= 30 :
    who,cha = "偏胖","肥胖"
elif  30 < bmi :
    who,cha = "肥胖","肥胖"
print("BMI数值为:{:.2f}".format(bmi))
print("BMI指标为:国际'{}',国内'{}'".format(who,cha))

圆周率的计算

在这里插入图片描述

import random
random.seed(123)
Dart = eval(input())
hit = 0
for i in range (Dart):
    x,y = random.random(),random.random()
    if pow(x**2+y**2 ,0.5) <= 1.0:
        hit+=1
pi = 4* (hit/Dart)
print("{:.6f}".format(		pi))

整数的加减和

在这里插入图片描述

res = 0
for i in range(1,967):
    res+= i*pow(-1,i+1)
print(res)

三位水仙花数

在这里插入图片描述

面向对象思想

def isSXH(n):
    temp = n
    res = 0
    for i in range(3):
        res += int(pow(n % 10, 3))
        n //= 10
    if res == temp:
        return True
    return False
    
res = ""
for i in range(100, 1000):
    if isSXH(i):
        res = res + "{},".format(i)
print(res[:-1])

使用列表:

ls=[]
for i in range(100,1000):
	a = i //100
	b = i//10%10
	c = i%100 %10
	d = a**3 + b**3 + c**3
	if d == i:
		ls.append(i)
res = ''
for n in ls:
    #转换为字符串进行拼接
	res += str(n)+","
print(res[:-1])

使用字符下标:

res = ""
for i in range(100,1000):
	#先转为字符串
	t = str(i)
	if pow(eval(t[0]),3)+pow(eval(t[1]),3)+pow(eval(t[2]),3) == i:
	s+="{},".format(i)
print(s[:-1])

用户三次登录

在这里插入图片描述

for i in range(3):
    name = input()
    pwd = input()
    if name == "Kate" and eval(pwd) == 666666:
        print("登录成功!")
        break
else:
    print("3次用户名或者密码均有误!退出程序。")

(以上所有的练习,来自Python123平台)

猜你喜欢

转载自blog.csdn.net/weixin_44916741/article/details/106292701
今日推荐