Python第五周作业 | 您所在的位置:网站首页 › python第五周滴实验作业 › Python第五周作业 |
Python第五周作业
1. 一元二次方程求根2. 百钱买百鸡3. 鸡兔同笼4. 最大公约数和最小公倍数5. 判断三角形并计算面积6. 判断IP地址合法性7. 回文素数8. 反素数9. 今天是第几天10. 提取首字符11. 判断火车票座位12. 7段数码管绘制
1. 一元二次方程求根
【描述】 一元二次方程ax2+bx+c=0,a、b、c的值由用户在三行中输入,根据用户输入的数值求解方程的实数解: 如果a值为0,根据b值判断方程是否有解并输出,如果a与b同时为0,则输出Data error! 如果方程无实数解,输出“该方程无实数解”; 如果方程有两个相同的实数解,输出一个解; 如果方程有两个不同的实数解,在一行内按从大到小顺序输出方程的两个解,用空格分隔。 【输入】 输入三行数据, 每行输入一个实数 示例 1 : 8 5 2 示例 2 : 0 5 6 示例 3 : 0 0 9 【输出】 方程的解 示例 1 :该方程无实数解 示例 2 :-1.2 示例 3 :Data error! 【代码】 import math def calc1(a,b,c): return (-b+math.sqrt(delta))/(2*a) def calc2(a,b,c): return (-b-math.sqrt(delta))/(2*a) a,b,c=eval(input()),eval(input()),eval(input()) delta = b * b - 4 * a * c if a == 0 and b!=0: print(-c / b) elif a == 0 and b == 0: print("Data error!") else: if delta 0: print(calc1(a,b,c),calc2(a,b,c)) 2. 百钱买百鸡【描述】 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,如果要求鸡翁、鸡母、鸡雏都不为零,问鸡翁、鸡母、鸡雏各几何? 【输入】 无 【输出】 每行输出一组结果,按鸡翁数、鸡母数、鸡雏数的顺序输出,数字之间用空格分隔; 如果有多组解时,按公鸡数量由少到多输出; 【代码】 for rooster in range(1,20):#公鸡最多买19只 for hen in range(1,32):#母鸡最多买31只 for chick in range(3,277,3):#小鸡最少买3只,最多买276只 if rooster+hen+chick==100 and 5*rooster+3*hen+chick//3 ==100: print(rooster,hen,chick) 3. 鸡兔同笼【描述】 大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的: 今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何? 这四句话的意思是: 有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔? 请编一个程序,用户在同一行内输入两个整数,代表头和脚的数量,编程计算笼中各有多少只鸡和兔,假设鸡和兔都正常,无残疾。如无解则输出Data Error! a,b = input().split() #读入两个数到a b中 a,b = map(int,input().split(',')) #读入两个整数到a,b中,输入的数用逗号分隔 a,b = map(int,input().split(' ')) #读入两个整数到a,b中,输入的数用空格分隔【输入】 在一行里输入两个整数,用空格分隔 示例 1 :35 94 示例 2 :-4 16 【输出】 在一行里输出两个正整数,分别是鸡和兔的数量,用空格分隔 如无解则输出Data Error! 示例 1 :23 12 示例 2 :Data Error! 【代码】 flag = -1 head,feet = map(int,input().split(' ')) for chicken in range(head): for rabbit in range(head): if chicken + rabbit == head and 2*chicken + 4*rabbit == feet: print(chicken,rabbit) flag = 0 if flag c and a + c > b and b + c > a: print('YES') print('{:.2f}'.format(s)) else: print('NO') 6. 判断IP地址合法性【描述】 互联网上的每台计算机都有一个独一无二的编号,称为IP地址,每个合法的IP地址由’.'分隔开的4个数字组成,每个数字的取值范围是0-255。 现在用户输入一个字符串(不含空白符,不含前导0,如001直接输入1),请你判断s是否为合法IP,若是,输出’Yes’,否则输出’No’。 如用户输入为202.114.88.10, 则输出Yes; 当用户输入202.114.88,则输出No。 【输入】 一个字符串 示例 1 :255.255.255.0 【输出】 输出’Yes’或’No’ 示例 1 :Yes 【代码】 IP = input() IP1 = IP.split('.') flag = True if len(IP1) !=4: flag = False else: for i in range(4): try: IP2 = int(IP1[i]) if(IP1[i][0]==0): flag = False break else: if IP2 > 255 or IP2 |
CopyRight 2018-2019 实验室设备网 版权所有 |