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

 

posted @ 2021-12-16 12:27  林木森3  阅读(241)  评论(0)    收藏  举报