目录
1.求基本统计值
获取以逗号分隔的多个数据输入(输入为一行),计算基本统计值(平均值、标准差、中位数)
除中位数外,其他输出保留小数点后两位。
def getnum(): #连续获得数字以后放到列表里
l = []
str = input()
while str != "":
l.append(eval(str))
str = input()
return l
def mean(num): #求平均数
s = 0.0
for i in num:
s = s + i
return s/len(num)
def dev(num,mean): #方差
sdev = 0.0
for i in num:
sdev = sdev + (i - mean)**2
return pow(sdev/(len(num)-1),0.5)
def median(num):
num.sort()
size = len(num)
if size % 2 == 0:
med = (num[size//2 - 1] + num[size//2])/2
else:
med = num[size//2]
return med
n = getnum()
m = mean(n)
print("平均值:{:.2f},标准差:{:.2f},中位数:{}".format(m,dev(n,m),median(n)))
需要注意的地方:
def getnum():
l = [] #数据以什么样形式存在需要提前定义
str = input()
while str != "": #进来的是字符串,就可以用""空控制
l.append(eval(str))
str = input() #while内网两个input才构成完整读取循环
return l
def median(num):
num.sort() #中位数首先需要排序
2.字典操作
3.画风车
from turtle import *
penup()
goto(0,0)
pendown()
for i in range(4):
left(45)
fd(-100)
right(90)
circle(100,45)
right(-90)
fd(100)
注意:left 和 right 和坐标fd选取正值或者负值的方向是有区别的
4.温度转换
TempStr = input("请输入带符号的温度:")
if TempStr[-1] in ['F','f']: #if...in 是非常常用的选择分支结构
C = (eval(TempStr[0:-1]) - 32)/1.8 #始终记得,输入的是字符,用eval去引号
print("转换后温度为{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
F = 1.8 * eval(TempStr[0:-1]) + 32
print("转换后温度为{:.2f}F".format(F))
else:
print('输入格式错误')
注意:input进来的是一组连续字符串
5.大小写转换
template = "零一二三四五六七八九"
s = input()
for c in s: #for...in 结构非常非常常用,含义是用变量c逐个遍历字符串s
print(template[eval(c)], end="")
6.蒙特卡洛求π
import random
pot = eval(input())
hit = 0.0
random.seed(123)
for i in range(pot):
x,y = random.random(),random.random()
dist = pow(x**2+y**2,0.5)
if dist <= 1:
hit = hit + 1
pi = 4 * (hit/pot)
print("{:.6f}".format(pi))
7.三次登录
count = 0
while count <3:
yhm = input()
mm = input()
if yhm == "Kate" and mm == &#