第五周作业-python123
1.一元二次方程求根
import math a = eval(input()) b = eval(input()) c = eval(input()) delta = pow(b,2) - 4*a*c if a == 0: if b == 0: print('Data error!') else: print(-c/b) else: if delta < 0: print('该方程无实数解') elif delta == 0: x = (math.sqrt(b*b - 4*a*c) - b)/(2*a) print(x) elif delta > 0: x1 = (math.sqrt(b*b - 4*a*c) - b)/(2*a) x2 = (-math.sqrt(b*b - 4*a*c) - b)/(2*a) if x1 > x2: print('{} {}'.format(x1,x2)) else: print('{} {}'.format(x2,x1))
2.百钱买百鸡
gj_1 = 5 mj_1 = 3 xj_1 = 1/3 a = int(100/gj_1) b = int(100/mj_1) c = int(100/xj_1) gj = [] mj = [] xj = [] for i in range(1,a+1): for j in range(1,b+1): for k in range(1,c+1): if i+j+k ==100: if gj_1*i + mj_1*j +xj_1*k ==100: gj.append(i) mj.append(j) xj.append(k) for l in range(len(gj)): print('{} {} {}'.format(gj[l],mj[l],xj[l]))
3.鸡兔同笼
head,foot = map(int,input().split()) if int(foot-head*2)/2==(foot-head*2)/2: print(int(head-(foot-head*2)/2), int((foot-head*2)/2)) else: print('Data Error!')
4.最大公约数和最小公倍数
import math a = int(input()) b = int(input()) zdgys = math.gcd(a,b) zxgbs = a*b/zdgys print('{} {}'.format(int(zdgys),int(zxgbs)))
5.判断三角形并计算面积
import math a = float(input()) b = float(input()) c = float(input()) if a + b > c and a + c > b and b + c > a: C = a + b + c p = C/2 area = math.sqrt(p * (p - a) * (p - b) * (p - c)) print('YES') print('{:.2f}'.format(area)) else: print('NO')
6.判断ip地址合法性
ip = input() ip = ip.split('.') if len(ip) == 4: for i in range(4): if ip[i].isdigit() == False or eval(ip[i]) > 255 or eval(ip[i]) < 0: print('No') break else: if i == 3: print('Yes') else: print('No')
7.回文素数
a = int(input()) b = [] n = 1 while len(b) < a: n = n+1 if str(n) == str(n)[::-1]: for i in range(1,n): if n % i == 0: x = i else: if x == 1: b.append(str(n)) print("{}".format(" ".join(b)),end=" ")
8.反素数
a = int(input()) b = [] n = 1 while len(b) < a: n = n + 1 if (n>10) and (str(n) != str(n)[::-1]): for i in range(1,n): if n % i == 0: x = i else: if x == 1: c = str(n)[::-1] for j in range(1,int(c)): if int(c) % j == 0: y = j else: if y == 1: b.append(str(n)) print("{}".format(" ".join(b)),end=" ")
9.今天是第几天
a = eval(input()) b = eval(input()) c = eval(input()) mouth = [0,31,59,90,120,151,181,212,243,273,304,334] sum = mouth[b-1] + c if (a % 4 == 0 and a % 100 != 0) or a % 400 == 0: if b <= 2: print('{0}年{1}月{2}日是{0}年第{3}天'.format(a,b,c,sum)) else: print('{0}年{1}月{2}日是{0}年第{3}天'.format(a,b,c,sum+1)) else: print('{0}年{1}月{2}日是{0}年第{3}天'.format(a,b,c,sum))
10.提取首字符
a = input() a = a.split(' ') b = [] for i in range(len(a)): b.append(a[i][0]) print('{}'.format(''.join(b)))
11.判断火车票座位
a = input() if 2 <= len(a) <= 3: if a[0:-1].isdigit() == True and 1<=int(a[0:-1])<=17: if a[-1] in ['a','f','A','F']: print("窗口") elif a[-1] in ['c','d','C','D']: print("过道") else: print("输入错误") else: print("输入错误") else: print('输入错误')