第五周作业-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('输入错误')

浙公网安备 33010602011771号