一元二次方程求根

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

如果a值 为0,根据b值判断方程是否有解并输出,如果a与b同时为0,则输出Data error!‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

如果方程无实数解,输出“该方程无实数解”;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

如果方程有两个相同的实数解,输出一个解;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

如果方程有两个不同的实数解,在一行内按从大到小顺序输出方程的两个解,用空格分隔。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

1 import math
 2 a=eval(input())
 3 b=eval(input())
 4 c=eval(input())
 5 if a==0:
 6     if b==0:
 7         print("Data error!")
 8     else:
 9         print(-c/b)
10 else:
11     if b**2-4*a*c>0:
12         x1=(-b-math.sqrt(b**2-4*a*c))/(2*a)
13         x2=(-b+math.sqrt(b**2-4*a*c))/(2*a)
14         if x1>x2:
15             print("{} {}".format(x1,x2))
16         else:
17             print("{} {}".format(x2,x1))
18     elif b**2-4*a*c==0:
19         print(-b/(2*a))
20     else:
21         print("该方程无实数解")

百钱买百鸡

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,如果要求鸡翁、鸡母、鸡雏都不为零,问鸡翁、鸡母、鸡雏各几何?

1 for x in range(1,100):
2     for y in range(1,100):
3         z = 100 -x-y
4         if (5*x+3*y+z/3==100):
5             print(x,y,z)

 

鸡兔同笼

描述

大约在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 a,b = map(int,input().split(' '))  #读入两个整数到a,b中,输入的数用空格分隔
2 if  b % 2 != 0 or a<0 or b<0 or a>b:
3         print("Data Error!")
4 else:
5    ji = (a*4-b)/2
6    tu = a-ji
7    print(int(ji),int(tu))

最大公约数和最小公倍数

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬描述

本题要求两个给定正整数的最大公约数和最小公倍数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪输入格式

两行输入:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

     每行给出一个正整数(≤1000)。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬输出格式

在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。

1 a=int(input())
 2 b=int(input())
 3 ma=max(a,b)
 4 mi=min(a,b)
 5 while(b!=0):
 6     temp = a % b
 7     a = b
 8     b = temp
 9 for i in range(1,mi+1):
10     if ma*i%mi==0:
11         x=ma*i
12         break
13 print(a,x)

 

判断三角形并计算面积

描述

输入三个数a,b,c, 判断能否以它们为三个边长构成三角形。若能,输出YES和三角形面积(结果保留2位小数),否则输出NO。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

 

1 import math
 2 a=eval(input())
 3 b=eval(input())
 4 c=eval(input())
 5 if a+b>c and a+c>b and b+c>a:
 6     p=(1/2)*(a+b+c)
 7     s=math.sqrt(p*(p-a)*(p-b)*(p-c))
 8     print("YES")
 9     print("{:.2f}".format(s))
10 else:
11     print("NO")

判断IP地址合法性

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬描述

互联网上的每台计算机都有一个独一无二的编号,称为IP地址,每个合法的IP地址由'.'分隔开的4个数字组成,每个数字的取值范围是0-255。
现在用户输入一个字符串(不含空白符,不含前导0,如001直接输入1),请你判断s是否为合法IP,若是,输出'Yes',否则输出'No'。
如用户输入为202.114.88.10, 则输出Yes; 当用户输入202.114.88,则输出No。

1 s=input("")
 2 addr=s.split('.')
 3 if len(addr) != 4: 
 4         print("No")
 5 else:
 6         try:
 7                 for i in range(4):
 8                     addr[i]=int(addr[i]) 
 9                     if addr[i]<=255 and addr[i]>=0:
10                         flag=1            
11                     else:
12                         flag=0
13                         break
14                 if flag:
15                     print("Yes")
16                 else:
17                     print("No")
18 
19         except:
20             print("No")

 

回文素数

描述

 回文素数是指一个数既是素数又是回文数。例如,131,既是素数又是回文数。
用户输入一个正整数n(1 <= n <= 100), 请你在一行内输出从小到大排列的的前n个回文素数,数字之间用空格分隔。

1 n=int(input())
 2 a=0
 3 b=1
 4 def prime(num):
 5     if num <= 1:
 6         return False
 7     i = 2
 8     while i * i <= num:
 9         if num % i == 0:
10             return False
11         i += 1
12     return True
13 def huiwen(num):
14     t=num
15     total=0
16     while t>0:
17         total=total * 10+t % 10
18         t=int(t/10)
19     return num==total
20 while (a!=n):
21     if(huiwen(b) and prime(b)):
22         print(b ,end=' ')
23         a=a+1
24     b=b+1

反素数

描述

反素数(逆向拼写的素数)是指一个将其逆向拼写后也是一个素数的非回文数。例如:13和31都是素数,且13和31都不是回文数,所以,13和31是反素数。
输入一个正整数n(1 <= n <= 100), 请输出从小到大排列的的前n个反素数,数字间以空格进行分隔。

1 n=int(input())
 2 a=0
 3 b=1
 4 def prime(num):    #判断数字是否是素数
 5     if num <= 1:
 6         return False
 7     i = 2
 8     while i * i <= num:
 9         if num % i == 0:
10             return False
11         i += 1
12     return True  
13 def huiwen(num):    #判断数字是否回文
14     t=num
15     total=0
16     while t>0:
17         total=total * 10+t % 10
18         t=int(t/10)
19     return num!=total 
20 def fanshu(num):    # 将数字反过来
21     t=num
22     total=0
23     while t>0:
24         total=total * 10+t % 10
25         t=int(t/10)
26     return (total)
27 while (a!=n):
28     b2=fanshu(b)
29     if(huiwen(b) and prime(b) and prime (b2)):
30         print(b ,end=' ')
31         a=a+1
32     b=b+1

今天是第几天

描述

输入年月日,判断这一天是这一年的第几天? ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

输入格式 

输入包括三行:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

第一行是一个不超过四位数的正整数‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

第二行是一个不超过12的正整数 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

第三行是一个不超过31的正整数‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

输出格式

某年某月某日是某年的第多少天

1 a=int(input())#第一行是一个不超过四位数的正整数
 2 b=int(input())#第二行是一个不超过12的正整数 
 3 c=int(input())#第三行是一个不超过31的正整数
 4 list1=['0','31','29','31','30','31','30','31','31','30','31','30','31']
 5 list2=['0','31','28','31','30','31','30','31','31','30','31','30','31']
 6 x=0
 7 i=0
 8 if ((a%4==0) and (a%100 !=0)) or (a%400==0):   #判断是否为闰年
 9     while i <b:
10         x=x+int(list1[i])
11         i=i+1
12     day=x+c   #计算这一年的第几天
13 else:
14     while i<b:
15         x=x+int(list2[i])
16         i=i+1
17     day=x+c
18 print("{}年{}月{}日是{}年第{}天".format(a,b,c,a,day))

提取首字符

描述

用户输入一串单词或数字,中间用空格分隔,提取每个单词或数字的第一个字符生成一个新的字符串并输出。

1 str1=input()
2 str2=str1.split(' ')
3 str3=''
4 for i in str2:
5     str3=str3+i[0]
6 print(str3)

判断火车票座位

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬描述

 用户输入一个数字和一个字母组成的座位号,根据字母判断位置是窗口还是过道。目前中国高铁和国内飞机窗口位置的字母是'A'和'F',过道位置是'C'和 'D',中间位置是'E'。
每个车厢座位排数是1-17,字母不区分大小写。

1 snum=input()
 2 if snum[:-1]=='':
 3     print("输入错误")
 4 elif snum[:-1] !='':
 5     if int(snum[:-1]) <= 17 and int(snum[:-1])>=1:
 6         if  snum[-1] in ['A','a','f','F']:
 7             print("窗口")
 8         elif snum[-1] in ['C','c','d','D']:
 9             print("过道")
10         elif snum[-1] in ['e','E']:
11             print("中间")
12     else:
13         print("输入错误")

 

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

 

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬描述

 用户输入一个数字和一个字母组成的座位号,根据字母判断位置是窗口还是过道。目前中国高铁和国内飞机窗口位置的字母是'A'和'F',过道位置是'C'和 'D',中间位置是'E'。
每个车厢座位排数是1-17,字母不区分大小写。

1 snum=input()
 2 if snum[:-1]=='':
 3     print("输入错误")
 4 elif snum[:-1] !='':
 5     if int(snum[:-1]) <= 17 and int(snum[:-1])>=1:
 6         if  snum[-1] in ['A','a','f','F']:
 7             print("窗口")
 8         elif snum[-1] in ['C','c','d','D']:
 9             print("过道")
10         elif snum[-1] in ['e','E']:
11             print("中间")
12     else:
13         print("输入错误")