1:计算分段函数
题目:根据x的值,计算分段函数y的值。y的计算公式如下:
结果保留两位小数
输入样例1:
-5
输出样例:
15.00
输入样例2:
5
输出样例:
-80.74
输入样例3:
12
输出样例:
1736.00
输入样例4:
20
输出样例:
248.65
import math x = input('请输入一个整数x:') x = (int)(x) if x < 0: y = math.fabs(4 * x + 5) elif x < 10: y = math.exp(x) * math.sin(2 * x) elif x < 20: y = math.pow(x, 3) + 2 * x / 3 else: y = (3 + 4 * x) * math.log(x, math.e) print('结果为:%.2f'%y)
2:解一元二次方程组
解一元二次方程组: ax2+bx+c=0(a≠0)。从键盘输入系数a、b和c,如果方程有实根,计算并输出所有实根,否则,显示“方程无实根”。
分析:
①一元二次方程有无实根可以根据根的判别式∆=b2−4ac来来判定。若∆≥0,方程有实根;若∆<0,方程无实根。②计算方程的实根要用到开平方函数sqrt(),该函数不是内置函数,它封装在数学函数模块math()中,因此首先需要导入数学函数库。
输入样例1:
2.1 8.9 3.5
输出样例:
d1 = -3.80 d2 = -0.44
输入样例2:
2 4 2
输出样例:
d1 = d2 = -1.00
输入样例3:
3 4 5
输出样例:
方程无实根
import math a,b,c = input('请输入系数a,b,c:').split(' ') a = float(a) b = float(b) c = float(c) x = b ** 2 - 4 * a * c if x >= 0: d1 = (-b - math.sqrt(x)) / (2 * a) d2 = (-b + math.sqrt(x)) / (2 * a) if x > 0: print("d1 = "+"%.2f"%d1,end = '\n'+"d2 = "+"%.2f" %d2) else: print("d1 = d2 = "+"%.2f"%d1) else: print('方程无实根')
3:打印九九乘法表
输入样例1:
• 1
输出样例:
1 * 1 = 1 1 * 2 = 2 2 * 2 = 4 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36 1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64 1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
for i in range(1, 10): for j in range(1, i + 1): print('%s * %s = %-4s'%(j, i, i * j), end = ' ') print()
4:判断素数
输入一个自然数,判断是否为素数
输入样例1:
1
输出样例:
1不是一个素数
输入样例2:
2
输出样例:
2是一个素数
def is_prime(x): if x < 2: return False for i in range(2, int(x ** 0.5) + 1): if x % i == 0: return False return True n = int(input('请输入一个整数:')) if is_prime(n): print('%s是一个素数'%n) else: print('%s不是一个素数'%n)
5:打印自幂数
输入位数n,输出所有n位数的自幂数。
题目描述:
①:一个n位正整数,如果其各位数字的n次方累加之和仍然等于这个数,那么这个数称为自幂数。比如,13+53+33=153,所以153就是一个3位自幂数,3位自幂数又称水仙花数。为了简化问题,这里设n的取值不超过6。
②:遍历所有的n位数,首先需要生成n位数的最小值和最大值,在此范围内寻找自幂数。一个n位数的最小值为10n-1,最大值为10n-1。遍历循环可以用for语句实现。
③:检验一个数是不是自幂数,需要取出这个数每一位的数字。一个数对10取余得到个位数字;接着被10整除后继续对10取余得到十位数字,依次重复操作可以获取该数各位上的数字。无法预知循环次数,所以用while循环实现。
输入样例1:
1
输出样例
1 2 3 4 5 6 7 8 9
输入样例2:
2
输出样例
2位数无自幂数
输入样例3:
6
输出样例
548834
import math n = int(input('请输入自幂数的位数:')) m = int(math.pow(10, n - 1)) minn = m maxx = 10 * m flag = 0 for i in range(minn, maxx): ans = 0 sum1 = i sum2 = i while sum1 > 0: ans += int(math.pow(sum1 % 10, n)) sum1 //= 10 if ans == sum2: print(ans, end = ' ') flag = 1 if flag == 0: print('%s位数无自幂数'%n)