温度转换
#获取输入字符串
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平台)