python(第三周作业1)
完美立方
描述
费马大定理断言:当整数n>2时,关于a,b,c的方程an=bn+cn没有正整数解。该定理被提出后,历经三百多年,经历多人猜想辩证,最终在1995年被英国数学家安德鲁·怀尔斯证明。当然,可以找到大于1的4个整数满足完美立方等式:a3=b3+c3+d3(例如123=63+83+103)。编写一个程序,对于任意给定的正整数N(N ≤100),寻找所有的四元组(a,b,c,d),满足a3=b3+c3+d3,其中1<a,b,c,d≤N。
1 n = int(input()) # n范围内的立方数 2 3 list_cube = [0] # 用于存储立方数的列表 4 5 for i in range(1, n + 1): 6 7 list_cube.append(i * i * i) 8 9 for a in range(6, n + 1): 10 for b in range(2, a - 1): 11 if list_cube[a] < (list_cube[b] + list_cube[b + 1] + list_cube[b + 2]): 12 break 13 for c in range(b + 1, a): 14 if list_cube[a] < (list_cube[b] + list_cube[c] + list_cube[c + 1]): 15 break 16 for d in range(c + 1, a): 17 if list_cube[a] == (list_cube[b] + list_cube[c] + list_cube[d]): 18 print("Cube = %d,Tripe = (%d,%d,%d)" % (a, b, c, d))
鸡兔同笼
描述
一个笼子里面关了若干只鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里脚的总数为a,则笼子里面至少有多少只动物,至多有多少只动物?
1 #鸡兔同笼 2 n=eval(input()) 3 for i in range (n): 4 a=eval(input()) 5 if (a % 2 != 0): #n为奇数 6 max=min=0 7 elif (a % 4) == 0:#n是4 的倍数 8 max = a / 2 #全为鸡时最多 9 min = a / 4 #全为兔时最少 10 else: 11 max = a / 2 12 min = (a /4)+(a%4)/2 13 print ("%d %d"%(min,max))
温度转换异常处理
描述
温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fabrenheit)。
请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
要求如下:
(1) 输入输出的摄氏度采用大写字母 C 或小写字母 c 结尾,温度可以是整数或小数,如:12.34C 指摄氏度 12.34 度;
(2) 输入输出的华氏度采用大写字母 F 或小字字母 f 结尾,温度可以是整数或小数,如:87.65F 指华氏度 87.65 度;
(3) 考虑异常输入的问题,如输入不合法则抛出异常;
(4) 使用input()获得测试用例输入时,不要增加提示字符串。
1 try: 2 TempStr = input("") 3 if TempStr[-1] in ['F','f']: 4 C = (eval(TempStr[0:-1]) - 32) / 1.8 5 print("{:.2f}C"/format(C)) 6 elif TempStr[-1] in ['C','c']: 7 F = 1.8 * eval(TempStr[0:-1]) + 32 8 print("{:.2f}F".format(F)) 9 else: 10 print("输入错误,末位只能是'C','c','F','f'") 11 except NameError : 12 print("试图访问的变量名不存在") 13 except SyntaxError: 14 print('存在语法错误')