每日博客
今天进行python的小测试
7-1 找出一个整数的所有素因子
分数 20
作者 季江民
单位 浙江大学
编写程序读取一个整数,然后显示它所有的最小因子,也称之为素因子。
例如:如果输入整数为150, 那么输出应该如下:2,3,5,5
输入格式:
在一行中输入一个整数。
输出格式:
在一行输出所有的素因子,以逗号分隔。
输入样例:
| 150 |
输出样例:
| 2,3,5,5 |
def find_prime_factors(n):
factors = []
# 先处理掉2的因子
while n % 2 == 0:
factors.append(2)
n = n // 2
# 处理奇数因子
for i in range(3, int(n**0.5) + 1, 2):
while n % i == 0:
factors.append(i)
n = n // i
# 如果n是一个大于2的素数
if n > 2:
factors.append(n)
return factors
# 读取输入
number = int(input())
# 找到所有的素因子
prime_factors = find_prime_factors(number)
# 输出素因子,以逗号分隔
print(",".join(map(str, prime_factors)))
7-2 四则运算(用字典实现)
分数 20
作者 陈春晖
单位 浙江大学
四则运算(用字典实现),比较c语言的switch语句。
输入格式:
在一行中输入一个数字
在一行中输入一个四帜运算符(+,-,*,/)
在一行中输入一个数字
输出格式:
在一行中输出运算结果(小数保留2位)
输入样例1:
在这里给出一组输入。例如:
| 7 | |
| / | |
| 3 |
输出样例1:
在这里给出相应的输出。例如:
| 2.33 |
输入样例2:
在这里给出一组输入。例如:
| 10 | |
| / | |
| 0 |
输出样例2:
在这里给出相应的输出。例如:
| divided by zero |
def calculate():
# 获取输入
num1 = float(input())
operator = input().strip()
num2 = float(input())
# 定义四则运算的函数
def add(a, b):
return a + b
def subtract(a, b):
return a - b
def multiply(a, b):
return a * b
def divide(a, b):
if b == 0:
return "divided by zero"
else:
return a / b
# 用字典实现四则运算
operations = {
'+': add,
'-': subtract,
'*': multiply,
'/': divide
}
# 获取运算结果
if operator in operations:
result = operations[operator](num1, num2)
if isinstance(result, str): # 检查是否是错误信息
print(result)
else:
print(f"{result:.2f}")
else:
print("Invalid operator")
# 调用函数进行计算
calculate()


浙公网安备 33010602011771号