Python123题目(SWPU)
因为老师后面会锁题,提前复制下来用来
1.2圆面积的计算 S
radius = 25area = 3.1415 * radius * radius print("{:.2f}".format(area))
1.3说句心里话 A
name=input("")say=input("")print(name+",我想对你说,"+say)
3.1 a除以b
a=eval(input())b=eval(input())if b==0 : print("除零错误")else : print("{:.2f}".format(a/b))
3.2 2的n次方
n=eval(input())print("{}".format(2**n))
3.3 表达式求值
已经a,b,c的值分别为5,8和3,利用以下公式计算并输出x的值。
import mathprint("{}".format((-8+math.sqrt(math.pow(8,2)-4*5*3))/(2*5)))
3.4 阶乘
# 用户输入一个正整数,使用数学库,计算其阶乘import mathn=eval(input())print("{}".format(math.factorial(n)))
3.5 拆分数字
# 输入任意一个三位整数,请用内置的数值运算操作符输出该数字的个位,十位和百位数字。结果逗号隔开同行输出number=input()list1 = list(number)list1.reverse()a=int(list1[0])b=int(list1[1])c=int(list1[2])print("{0:},{1:},{2:}".format(a,b,c))
3.6 天天向上的力量 B
"""一年365天,以第1天的能力值为基数,记为1.0。当好好学习时,能力值相比前一天提高N‰;当没有学习时,由于遗忘等原因能力值相比前一天下降N‰。每天努力或放任,一年下来的能力值相差多少呢?其中,N的取值范围是1到10,N可以是小数。获得用户输入N,计算每天努力和每天放任365天后的能力值及能力间比值,其中,能力值保留小数点后2位,能力间比值输出整数,输出结果间采用“逗号+空格”格式。此题目是OJ题,使用input("")获得N。"""n=eval(input())Capability_Value_Study = 1.0Capability_Value_Play = 1.0for i in range(1,365): Capability_Value_Study += Capability_Value_Study*0.001*n Capability_Value_Play -= Capability_Value_Play*0.001*nprint("{:.2f}, {:.2f}, {:.0f}".format(Capability_Value_Study,Capability_Value_Play,Capability_Value_Study/Capability_Value_Play))
3.7 字符替换
"""描述假设有段英文,其中有单独字母“P”被误写为“p”,请编写程序进行纠正。 输入格式用户输入一个字符串。不要使用提示词语。 输出格式程序输出字符串,其中原本包含的英文字母“p”全部被替换为“P”。"""str = input()if 'p' in str: str = str.replace('p','P')print(str)
3.8 获取浮点数的整数部分和小数部分
"""描述要求用户输入一个小数,能够分别获取整数部分和小数部分,并输出输入格式例1:输入一个带有小数点的浮点数,例如12.5输出格式整数12小数5"""zs,xs=input().split('.')zs = int(zs)xs = int(xs)print(f'整数{zs}小数{xs}')
3.9 英文字符串单词个数统计
"""描述输入一个英文字符串,按照空格分割单词并统计单词个数输入格式输入一个英文字符串输出格式单词的个数"""str = input()num = str.split(' ')print(len(num))
3.10 获取月份字符串
"""描述输入一个1~12的数字,输出相应的月份,例如输入3,输出“三月份”输入格式输入1~12之间的数字输出格式输出月份"""a = int(input())if a == 1: print("一月份")elif a == 2: print("二月份")elif a == 3: print("三月份")elif a == 4: print("四月份")elif a == 5: print("五月份")elif a == 6: print("六月份")elif a == 7: print("七月份")elif a == 8: print("八月份")elif a == 9: print("九月份")elif a == 10: print("十月份")elif a == 11: print("十一月份")elif a == 12: print("十二月份")
3.11 判断闰年
"""描述输入一个年份,判断是否是闰年闰年判断标准如下,满足其下1个条件即可1、能被4整除,但不能被100整除2、能被400整除"""year = int(input())if year % 4 == 0 and year % 100 != 0 or year % 400 == 0: print(f'{year:}年是闰年')else: print(f'{year:}年不是闰年')
3.12 三角形面积
""""输入三角形的三条边a、b、c,判断三条边是否能够构成三角形,如果能够构成三角形,则输出该三角形的面积,否则输出“不能构成三角形”。三角形的判断条件:任意两边之和大于第三边。面积公式如下:,其中s=(a+b+c)/2"""a = float(eval(input()))b = float(eval(input()))c = float(eval(input()))s = (a+b+c)/2if a+b>c and a+c>b and c+b>a: print(f'{(s*(s-a)*(s-b)*(s-c))**0.5:.1f}')else: print("不能构成三角形")
4.1 空气质量提醒
"""描述根据键盘输入的PM值提示不同的信息如果0<=PM<35 输出 “空气优”如果35<=PM<75 输出 “空气良”如果PM>=75 输出 “空气污染”其他情况 输出 “错误输入”"""pm = int(input())if 0<=pm<35: print("空气优")elif 35<=pm<75: print("空气良")elif 75<=pm: print("空气污染")else: print("错误输入")
4.2 BMI指数计算
"""BMI指数 = 体重 (kg) / 身高的平方 (m2)计算方法见下表: 要求按顺序输入身高和体重计算BMI指数""" height,weight = eval(input())height = float(height)weight = float(weight)BMI = float(weight/height**2)if BMI < 18.5: print(f'BMI数值为:{BMI:.2f}') print('偏瘦')if 18.5<= BMI < 24: print(f'BMI数值为:{BMI:.2f}') print('正常')if 24<= BMI < 28: print(f'BMI数值为:{BMI:.2f}') print('偏胖')if 28<= BMI: print(f'BMI数值为:{BMI:.2f}') print('肥胖')
4.3 计算1+2+3+……+n的值
n = int(input())num=0;i=1while i<=n: num +=i i+=1print(num)
4.4 计算m到n的累加和
"""键盘输入整数m和n的值(其中m<n),计算并输出m+(m+1)+(m+2)+....+n的值。 """m,n=eval(input())m = int(m)n = int(n)sum = 0i=mwhile i<=n: sum +=i i+=1print(f"sum={sum}")
4.5 输出倒三角型
"""用户输入数据n,输出n行的倒三角形例如用户输入5输出图形为********* ******* ***** *** *其中第1行左侧没有空格,第2行左侧1个空格,第3行左侧1个空格,以此类推。"""n = int(input())a ='*'b = ' 'i = nwhile i>0: print(b*(n-i)+a*(2*i-1)) i -=1
4.6
"""输入n,输出2*n-1行的菱形图形例如:输入4,输出 * *** ************ ***** *** * """n = 4for i in range(1,n+1): print(' '*(n-i)+'*'*(2*i-1))for i in range (1,n): print(' '*i+'*'*(2*n-1-2*i))
4.7
"""输入两个奇数n、m使用for语句编写循环,计算从n到m之间所有奇数的和"""n,m = eval(input())n = int(n)m = int(m)sum =0for i in range(n,m+1): if i%2==1: sum += iprint(sum)
4.8
"""输入数据n,使用while语句,求出1+2+3+...+n的和"""n = int(input())i=1sum =0while i<=n: sum +=i i+=1print(sum)
4.9
"""输入数据n和m使用while语句计算n到m的所有数据和"""n,m = eval(input())n = int(n)m = int(m)i=nsum = 0while i<=m: sum +=i i+=1print(sum)
4.10
"""编写程序计算以下多个数据项相加的和1/1 + 1/2 + 1/4 + 1/8 + 1/16 + … 当其中的某一项小于10的-5次方时,就停止运算输出强制保留4位小数的结果"""sum =0a = 1m = 10**5while a <= m: sum += 1/a a= a*2print("{:.4f}".format(sum))
4.11
"""计算多项相加的和1/1 + 1/2 + 1/4 + 1/7 + 1/11 + 1/16 + 1/22 …当其中的项小于10的-5次方时,停止计算输出强制保留4位小数"""sum =0a = 1m = 10**5i=1while a <= m: sum += 1/a a+=i i+=1print("{:.4f}".format(sum))
4.12
"""输入一个数据,判断它是否是素数如果是,则输出“是素数”,否则输出“不是素数”"""def is_prime(n): if n == 1: return False for i in range(2, int(n ** 0.5 + 1)): if n % i == 0: return False return True n = int(input())if is_prime(n): print("是素数")else: print("不是素数")
4.13
"""使用双重循环在屏幕上打印出矩阵,每个数字以1个空格隔开1 2 34 5 67 8 9 """a = 1for i in range(1,4): for j in range(1,4): print(f"{a}",end=' ') a+=1 print()
4.14
"""使用双重循环输出上三角九九乘法表每个算式之间用 1个空格 隔开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"""for i in range(1,10): a =1 for j in range(1,i+1): sum = i*a print(f"{i}*{a}={sum}",end=' ') a+=1 print()
4.15
"""输出1-20之间(不包含1和20)的所有素数,每个数据占一行235711131719"""def is_prime(n): if n == 1: return False for i in range(2, int(n ** 0.5 + 1)): if n % i == 0: return False return Truefor i in range(2,21): if is_prime(i): print(i)
4.16 百钱买百鸡问题
"""使用100元钱,买100只鸡;其中公鸡5元一只,母鸡3元一只,小鸡1元钱3只输出有多少种购买方式请使用双重循环来完成该题,每种鸡可以为0只"""num_chicken = 100money = 100cocks = 0 # 公鸡hens = 0 # 母鸡chick = 0# 小鸡count_chicken = 0 # 鸡的总数count_money = 0# 钱的总数status = 0 # 状态控制,满足条件输出,否则就无解。a =1for i in range(0, num_chicken): for j in range(0,num_chicken): for k in range(0,num_chicken): count_money = 5 * i + 3 * j + k / 3 count_chicken = i + j + k if count_chicken == num_chicken and count_money == money: status = 1 if a ==1: print("公鸡 母鸡 小鸡") a=0 print(f"{i} {j} {k}")if status == 0: print("无解")
4.17 蒙特卡罗法求π值
"""蒙特卡罗方法适合于根据概率求出图形的面积根据两个图形的面积求出某一个未知数据量请随机产生10000个点,判断是否落到一个半径为1的1/4个圆内,通过概率与一个边长为1的正方形的面积比值算出π的数值,要求输出强制保留两位小数"""import randomm = 1000000#使用1000000个点进行计算n = 0.0#计数落在圆中的点for i in range(1,m+1): x,y = random.random(),random.random() dist = pow(x ** 2 + y ** 2,0.5) if dist <= 1.0: n = n+1pi = 4*(n/m)print("{:.2f}".format(pi))
4.18
"""输入一个数据x当x为数字时,输出x的平方,否则提示“输入错误”。"""x = input()if x.isdigit(): x= int(x) print(x**2)else: print("输入错误")
4.19
"""分别使用20个宽度右对齐格式在四行上输出输入数据的二进制、十进制、科学计数法、两位小数如果输入的不是数据,则输出“输入错误”"""try: x = eval(input()) print("{:>20b}".format(x)) print("{:>20d}".format(x)) print("{:>20e}".format(x)) print("{:>20.2f}".format(x))except NameError: print("输入错误")
4.20 分段函数计算
"""输入x的值,计算y值,如果输入正确,输出y值如果输入错误,输出“输入错误”分段函数的数值,计算方式如下y=x x<5001.5x 500≤x<10002x 1000≤x<20003x x≥2000"""try: x = eval(input()) if x<500: print(x) elif 500<=x<1000: print(1.5*x) elif 1000<=x<2000: print(2*x) elif x>=2000: print(3*x)except NameError: print("输入错误")
4.21
"""在一行上输入三个边长,判断是否能构成三角形,若能构成三角形,则判断该三角形是“等边三角型“、“等腰三角型“还是“一般三角形“否则输出“不能构成三角形”。"""a,b,c = map(int,input().split(','))if a == b == c: print("等边三角形")elif a == b or a==c or b==c: print("等腰三角形")elif a+b>c and a+c>b and b+c>a: print("一般三角形")else: print("不能构成三角形")
4.22
"""计算 1 + 1/1! + 1/2! + 1/3! + … + 1/n精度为小数点后6位(即某一项 小于 0.000001就停止运算)结果输出5位小数"""i=ans=n = 1while n >= 0.000001: n = n/i ans += n i += 1print("{:.5f}".format(ans))
4.23
"""使用蒙特卡洛法求出曲线y=x*x与x轴之间在0-1范围内的面积种子数为10使用100000个点进行计算结果保留3位小数"""#5.3使用蒙特卡洛法求出曲线y=x*x与x轴之间在0-1范围内的面积import random as rdrd.seed(10)#种子数cnt=0for i in range(100000): x=rd.random() y=rd.random() if y<x*x: cnt+=1s=cnt/100000print(f'{s:0.3f}')
5.1
"""编写打印从n到m之间数据的函数要求:函数名为PrintData(x,y)打印的数据在一行上显示,每个数据以空格分开,打印后不换行"""def PrintData(n,m): for i in range(n,m+1): print(i,end = ' ')n,m=map(int,input().split(','))PrintData(n,m)
5.2
"""编写打印星号三角形函数,使用该函数,传入数据2、3、4打印出如下圣诞树图形 * *** * *** ***** * *** ************"""def sj(n): for i in range(n): print(' '*(3-i)+'*'*(2*i+1))sj(2)sj(3)sj(4)
5.3
"""编写计算从n到m和的函数函数名为sum(n,m)函数返回值为n到m所有数据的和使用该函数计算输入数据x,y之间所有数据的和"""def sum(n,m): s=0 for i in range(n,m+1): s=s+i return sn,m=map(int,input().split(','))print(sum(n,m))
5.4
"""编写闰年判断函数将判断闰年封装为函数,如果是闰年,函数输出True,否则输出False.使用该函数输出2010-2020年之间所有闰年"""def run(n): if n%400==0 or (n%100!=0 and n%4==0): return 'True' else: return 'False'for i in range(2010,2021): if run(i)=="True": print(i)
5.5 哥德巴赫猜想
"""哥德巴赫1742年给欧拉的信中哥德巴赫提出了以下猜想:任一大于2的偶数都可写成两个素数之和。请输出6-20之间所有偶数的所有拆分结果。"""def Isprime(n): for i in range(2, n): if n % i == 0: return False return Truen = 20for i in range(6, n + 1): if i%2==0: for j in range(2, i - 1): if Isprime(j) and Isprime(i - j): print(f'{i}={j}+{i - j}')
2.5用户登录
a=input("")b=input("")if a=="abc123" and b=="abc123": print("欢迎进入")else: print("有误,请重新输入!")
2.6 反转一个整数
x=input()y=x[::-1]#x[::-1]为反转if y[-1]=='-': y='-'+y[:-1].strip('0')# y[:-1]为去除最后一位else: y=y.strip('0')#strip为删除首位的(指定)print(y)
2.7 a除以b
a=eval(input())b=eval(input())if b==0: print('除零错误')else: print(f'{a/b:0.2f}')
2.8身高测算
a=eval(input())b=eval(input())c=input()num=0if c=='男': num=((a+b)*1.08)/2elif c=='女': num=(a*0.923+b)/2else: print('无对应公式')print(int(num))
2.10天天向上的力量 B
N=eval(input(''))up=pow((1.0+0.001*N),364)down=pow((1.0-0.001*N),364)a=int(up//down)#取整数print(f'{up:0.2f},{down:0.2f},{a}')
3.1判断数值类型
a=input()if 'j' in a: print('复数')elif '.' in a: print('浮点数')else: print('整数')
3.2一元二次方程求根
a=eval(input())b=eval(input())c=eval(input())delta=b*b-4*a*cif a==0 and b==0: print('Data error!')elif a==0 and b!=0: print(f'{-c/b:0.2f}')elif a!=0: if delta<0: print('该方程无实数解') elif delta==0: print(f'{(-b/2*a):0.2f}') elif delta>0: x1=(-b+delta**0.5)/2*a x2=(-b-delta**0.5)/2*a print(f'{x1:0.2f} {x2:0.2f}')
3.3 分类统计字符个数
a=input()l=d=o=0for i in range(len(a)): if '0'<=a[i]<='9': d=d+1 elif 'A'<=a[i]<='Z' or 'a'<=a[i]<='z': l=l+1 else: o=o+1print(f'letter = {l}, digit = {d}, other = {o}')
3.4 个税计算器
gz=eval(input())s=gz-5000if 0<=gz<=5000: print(f'应缴税款0元,实发工资{gz:0.2f}元。')elif gz<0: print('error')else: if s<3000: s=s*0.03-0 elif s<12000: s=s*0.1-210 elif s<25000: s=s*0.2-1410 elif s<35000: s=s*0.25-2660 elif s<55000: s=s*0.3-4410 elif s<80000: s=s*0.35-7160 else: s=s*0.45-15160 print(f'应缴税款{s:0.2f}元,实发工资{gz-s:0.2f}元。')
3.5 出租车计费
s,t=map(int,input().split(','))#同一行输入****记住!if s<3: m=13elif s<15: m=2.3*(s-3)+13elif s>15: m=2.3*1.5*(s-15)+13if t>0: m=m+tprint(int(m))
3.6 求和
import stringa=input()c=0for i in a: if i>='0' and i<='9': c=c+eval(i)if c==0: print('输入字符串中无数字')else: print(f'数字之和是{c}')
3.7 李白买酒
a=0for i in range(5): a = a + 1 a=a/2print(a)
3.8 十进制整数转二进制
a=eval(input())s=''if a==0: s='0'while a!=0: s=s+str(a%2) a=a//2print(s[::-1])
3.9 用户登录的三次机会
c=0while c<3: a=input() b=input() if a=='Kate' and b=='666666': print('登陆成功!') else: c=c+1 if(c==3): print('3次用户名或者密码均有误!退出程序。')
3.10使用蒙特卡洛法求出曲线y=xx与x轴之间在0-1范围内的面积
import random as rdrd.seed(10)cnt=0for i in range(100000): x=rd.random() y=rd.random() if y<x*x: cnt+=1s=cnt/100000print(f'{s:0.3f}')
3.11 二分法求平方根
def sqrt_binary(n): low,high=0,n while True: mid=(high+low)/2 if abs(mid**2-n)<=1e-6: return mid elif mid**2-n<0: low=mid else: high=midn=eval(input())x=sqrt_binary(n)print(x)print(n**0.5)
3.12 计算圆周率
a=eval(input())k=pi=0f=1while abs(1/(2*k+1))>=a: pi=pi+f*1/(2*k+1) k=k+1 f=-fprint(f'{pi*4:0.6f}')
3.13 身份证号码校验
xs=(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2)id=input()sum=0for i in range(17): sum=sum+xs[i]*int(id[i])if (id[17])=='X': if sum%11==2: print('身份证号码校验为合法号码!') else: print('身份证校验位错误!')elif (sum%11+int(id[17]))%11==1: print('身份证号码校验为合法号码!')else: print('身份证校验位错误!')
3.14 判断ip地址合法性
def IP(ip): s=ip.split('.')#s={'202','116','222','10'} if len(s)!=4: return'No' else: for i in range(4): if '0'<=s[i]<='255': return 'Yes' else: return "No"ip=input()print(IP(ip))
3.15 校验身份证号码并输出个人信息
def id(s): sum=0 xs=(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2) for i in range(17): sum=sum+xs[i]*int(s[i]) if s[17]=='X': if sum%11==2: return True elif (sum%11+int(s[17]))%11==1:#从题目中找到规律 return True else: return Falses=input()if id(s): print('身份证号码校验为合法号码!') print(f'出生:{s[6:10]}年{s[10:12]}月{s[12:14]}日') if int(s[16])%2==1:#注意转换为int print('性别:男') else: print('性别:女')else: print('身份证校验位错误!')
下面的借鉴一下,因为锁到了,打不开http://t.csdn.cn/K9Lra
汉诺塔
def move(n,a,b,c): if n==1: print(a,'-->',c) else: move(n-1,a,c,b) print(a,'-->',c) move(n-1,b,a,c)n=eval(input())a,b,c=input().split()move(n,a,b,c)
递归
def jz(n,k): if n>0: return jz(n//k,k)+str(n%k) else: return ''n,k=map(int,input().split(','))print(jz(n,k))
最大公约数
def gys(m,n): if m%n==0: return n else: return gys(n,m%n)m,n=map(int,input().split(','))print(gys(m,n))
"""程序中已有1个列表["p","p","y","y","k","k","j","z"]请编写程序,去掉列表中重复的内容,排序后,打印出来."""ls=["p","p","y","y","k","k","j","z"]ls_2 = sorted(list(set(ls)))for i in range(len(ls_2)): print(ls_2[i], end = ' ')
"""已有一个列表.统计多个数据在列表中出现的次数。输出按照 A B C的顺序输出(需要排序)"""ls=["A","B","B","C","C"]print("A : {:d}".format(ls.count("A")))print("B : {:d}".format(ls.count("B")))print("C : {:d}".format(ls.count("C")))
"""接收用户输入的多个数据,直到输入为空时停止将用户输入的一组数据放入列表中存放编写对列表进行统计的函数包括:计算列表的平均数,并返回数据计算列表中的方差,并返回数据计算列表中的中位数,并返回数据使用这些函数和python自带的len()函数输出1 列表中数据的个数2 列表数据和和3 列表数据的平均值4 列表数据的方差5 列表的中位数"""#请在此行下方编写函数def getNum(): ls=[] message = 'x' while message != '': message = input() if message != '': ls.append(int(message)) return ls# 求平均值def avg(la): avgx = sum(ls)/len(ls) return avgxdef dev(ls): l = len(ls) i = 0 num =0 while i<l: num += (ls[i]-avg(ls))**2 i+=1 dev = num/l return devdef median(ls): l = len(ls) ls.sort() # 将列表按升序排列 if l % 2 == 0: # 如果有偶数个整数 m = (ls[int(l / 2) - 1] + ls[int(l / 2)]) / 2 # 计算中间两个的平均值,存到m里 else: # 如果有奇数个整数 m = ls[int((l - 1) / 2)] # 将中间那个整数的值存到m里 return mls=getNum()print("数量",len(ls))print("和",sum(ls))print("平均值",avg(ls))print("方差",dev(ls))print("中位数",median(ls))
矩阵加法
"""新建两个矩阵A和B,两个矩阵的数据为矩阵A的数据1,1,12,2,23,3,3矩阵B的数据1,0,00,1,00,0,1计算两个矩阵的和,并输出计算结果[[2, 1, 1], [2, 3, 2], [3, 3, 4]]"""A = [[1,1,1], [2,2,2],[3,3,3]]B = [[1,0,0],[0,1,0],[0,0,1]]ls = []for i in range(len(A)): ls.append([(A[i][j] + B[i][j]) for j in range(len(A[i]))])print(ls)
矩阵乘法
"""新建两个矩阵A和B,两个矩阵的数据为矩阵A的数据1,1,12,2,23,3,3矩阵B的数据1,0,00,1,00,0,1"""A=[[1,1,1],[2,2,2],[3,3,3]]B=[[1,0,0],[0,1,0],[0,0,1]]C = []for i in range(len(A)): ls = [] for j in range(len(B)): s = 0 for k in range(len(A[i])): s += A[i][k]*B[k][j] ls.append(s) C.append(ls)for i in range(len(C)): for j in range(len(C[i])): print(C[i][j], end=' ') print()
字典存储数据
"""某次跳高比赛,一共5人参加,小明成绩为1.8米,小红成绩为1.58米,小力成绩为1.9米。。。。。。新建一个字典dic,将这些数据存放到字典中。该字典供其后的用户查询使用假设用户输入 小明,则显示小明的成绩 1.8m"""zi = dict()for i in range(5): key = input() value = input() zi[key] = valueans = input()print(ans+' '+zi[ans])
斐波那契数列
"""描述 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。数学上,斐波那契数列以递归的形式进行定义:F[0]=0F[1]=1F[n]=F[n−1]+F[n−2] 即 后一项等于前两项的和编写程序计算此数列的前N个值(N由用户输入得到),并按顺序存入一个列表。输出整个列表的数据"""n = int(input())ls = [0,1]for i in range(2,n): ls.append(ls[i-1]+ls[i-2])print(ls)
比赛评分计算
"""描述 学校举办新生歌手大赛,每个选手的成绩由评委的评分去掉一个最高分和一个最低分剩下评分的平均值得到。编写程序实现:输入第一行指定分数个数n,从第二行开始每行输入一个评委的得分(共n行),计算选手的成绩(保留1位小数),并输出。"""#输入指定的nn = int(input())ls = []#指定输入n个数,换行间隔for i in range(n): ls.append(eval(input()))#计算去掉一个最高分和最低分的平均值ans = (sum(ls) - max(ls) - min(ls))/ (n - 2)#输出最后得分print("该歌手最终成绩为"+str(round(ans, 1)))
"""描述如下图所示,正方形边长为1,圆的圆心为O(0,0),请采用蒙特卡洛法求PI(保留2位小数)。import numpy as npnp.random.seed(100)# 请补充代码"""import randomm = 1000000#使用1000000个点进行计算n = 0.0#计数落在圆中的点for i in range(1,m+1): x,y = random.random(),random.random() dist = pow(x ** 2 + y ** 2,0.5) if dist <= 1.0: n = n+1pi = 4*(n/m)print("{:.2f}".format(pi))
租房数据预处理(4)
#请在...上完善多行代码#请在___上完善一行代码#学生可以修改模板,输出文件名和编码格式不变,可以通过评阅import numpy as npimport pandas as pd#定义函数,用于计算各户型的数量# def all_house(house_array):# arr = np.array(house_array)# key = np.unique(house_array)# result = {}# for k in key:# mark = (arr == k)# arr_new = arr[mark]# v = arr_new.size# result[k] = v# return result file_path = open("zfsj_group.csv", encoding="utf-8") file_data = pd.read_csv(file_path)house_array = file_data["户型"]df = pd.DataFrame(house_array)df['num'] = 1df = pd.DataFrame((df.groupby('户型')['num'].agg(np.sum)))df.sort_values('num', ascending=False, inplace=True)df.reset_index(inplace=True)df.columns = ['户型', '数量']df[df['数量'] > 50].to_csv("zfsj4_after.csv", encoding="utf-8", header=True)