24级数应二班课堂作业1
# 已知直线上一点
x1, y1 = 1, 1
# 直线斜率
k = 2
# 直线外一点
x0, y0 = 3, 4
# 计算直线的截距
b = y1 - k * x1
# 计算垂直线的斜率
k_perpendicular = -1 / k if k != 0 else float('inf')
# 计算垂直线的截距(当垂线斜率不为无穷大时)
if k_perpendicular != float('inf'):
b_perpendicular = y0 - k_perpendicular * x0
# 联立方程求解垂点坐标
x = (b_perpendicular - b) / (k - k_perpendicular)
y = k * x + b
else:
# 垂线斜率为无穷大(原直线平行于x轴)时的情况
x = x0
y = k * x0 + b
print(f"垂点坐标为: ({x}, {y})")
nums = input("请输入一串数字,以空格分隔:").split() nums = [int(num) for num in nums] even_nums = [num for num in nums if num % 2 == 0] if not even_nums: print("没有偶数,无法计算平均值。") else: average = sum(even_nums) / len(even_nums) print(f"偶数的平均值是: {average}")
# 输入三角形三边长度 a = float(input("请输入三角形的第一条边长: ")) b = float(input("请输入三角形的第二条边长: ")) c = float(input("请输入三角形的第三条边长: ")) # 计算半周长 s = (a + b + c) / 2 # 计算面积(使用海伦公式) area = (s * (s - a) * (s - b) * (s - c)) ** 0.5 # 计算内切圆半径 radius = area / s print(f"该三角形的内切圆半径为: {radius}")
2024010080毛蕊婷 三角形外接圆
# 输入三角形三个顶点的坐标
x1, y1 = map(float, input("请输入第一个顶点的坐标(x y):").split())
x2, y2 = map(float, input("请输入第二个顶点的坐标(x y):").split())
x3, y3 = map(float, input("请输入第三个顶点的坐标(x y):").split())
# 计算线段中点坐标
midx1 = (x1 + x2) / 2
midy1 = (y1 + y2) / 2
midx2 = (x2 + x3) / 2
midy2 = (y2 + y3) / 2
# 计算线段垂直平分线的斜率
if x2 - x1 == 0:
k1 = float('inf')
else:
k1 = - (x2 - x1) / (y2 - y1)
if x3 - x2 == 0:
k2 = float('inf')
else:
k2 = - (x3 - x2) / (y3 - y2)
# 计算外接圆的圆心坐标
if k1 == float('inf'):
x = midx1
y = midy2 + k2 * (x - midx2)
elif k2 == float('inf'):
x = midx2
y = midy1 + k1 * (x - midx1)
else:
x = (midy2 - midy1 + k1 * midx1 - k2 * midx2) / (k1 - k2)
y = midy1 + k1 * (x - midx1)
# 计算外接圆的半径
r = ((x - x1) ** 2+(y - y1) ** 2) ** 0.5
print(f"外接圆的圆心坐标为:({x}, {y})")
print(f"外接圆的半径为:{r}")
2024010045 计旭升 100以内的素数
for num in range(2, 101):
is_prime = True
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
is_prime = False
break
if is_prime:
print(num)
import math
def distance(p1, p2):
"""计算两点之间的距离"""
return math.sqrt((p1[0] - p2[0])**2 + (p1[1] - p2[1])**2)
def triangle_area(a, b, c):
"""使用海伦公式计算三角形面积"""
s = (a + b + c) / 2
area = math.sqrt(s * (s - a) * (s - b) * (s - c))
return area
def inradius(a, b, c):
"""计算内切圆半径"""
area = triangle_area(a, b, c)
s = (a + b + c) / 2
r = area / s
return r
def incenter(p1, p2, p3):
"""计算内切圆圆心坐标"""
a = distance(p2, p3)
b = distance(p1, p3)
c = distance(p1, p2)
denominator = a + b + c
x = (a * p1[0] + b * p2[0] + c * p3[0]) / denominator
y = (a * p1[1] + b * p2[1] + c * p3[1]) / denominator
return (x, y)
def main():
print("请输入三角形的三个顶点坐标(x y 格式):")
p1 = tuple(map(float, input("点 1: ").split()))
p2 = tuple(map(float, input("点 2: ").split()))
p3 = tuple(map(float, input("点 3: ").split()))
a = distance(p1, p2)
b = distance(p2, p3)
c = distance(p3, p1)
r = inradius(a, b, c)
center = incenter(p1, p2, p3)
print(f"\n内切圆半径: {r:.4f}")
print(f"内切圆圆心坐标: ({center[0]:.4f}, {center[1]:.4f})")
if __name__ == "__main__":
main()
2024010079 马艺菲 求切线方程
import math
def tangent_lines(a, b, r, x0, y0):
# 计算点到圆心的距离
d = math.sqrt((x0 - a) ** 2 + (y0 - b) ** 2)
if d < r:
raise ValueError("点在圆内,没有切线")
elif d == r:
raise ValueError("点在圆上,只有一条切线")
# 计算切线的斜率
alpha = math.asin(r / d)
theta = math.atan2(y0 - b, x0 - a)
# 两条切线的角度
theta1 = theta + alpha
theta2 = theta - alpha
# 计算切线的斜率
m1 = math.tan(theta1)
m2 = math.tan(theta2)
# 计算切线的截距
c1 = y0 - m1 * x0
c2 = y0 - m2 * x0
return (m1, c1), (m2, c2)
# 示例
a, b = 0,0 # 圆心
r = 5 # 半径
x0, y0 = 7, 0 # 圆外一点
try:
(m1, c1), (m2, c2) = tangent_lines(a, b, r, x0, y0)
print(f"切线1: y = {m1:.2f}x + {c1:.2f}")
print(f"切线2: y = {m2:.2f}x + {c2:.2f}")
except ValueError as e:
print(e)
monthly_interest_rates = {
'1': 0.00125, # 假设以下分别为每一个月的汇率
'2': 0.002083,
'3': 0.003125,
'4': 0.004219,
'5': 0.005344,
'6': 0.0065,
'7': 0.007688,
'8': 0.0089,
'9': 0.010144,
'10': 0.011419,
'11': 0.012725,
'12': 0.014063
}
def calculate_monthly_interest(amount, time):
"""
根据存款金额和存款月数计算月利息
参数:
amount (float): 存款金额
time (str): 存款时间,
返回:
float: 月利息金额
"""
# 检查输入的存款时间是否在利率表中
if time not in monthly_interest_rates:
raise ValueError(f"Invalid deposit time: {time}. Valid times are {', '.join(monthly_interest_rates.keys())}")
# 获取对应的月利率
monthly_rate = monthly_interest_rates[time]
# 计算月利息
monthly_interest = amount * monthly_rate
return monthly_interest
# 主程序
if __name__ == "__main__":
try:
# 输入存款金额
amount = float(input("请输入存款金额: "))
# 输入存款月数
time = input("请输入存款月数: ")
# 计算月利息
monthly_interest = calculate_monthly_interest(amount, time)
# 输出结果
print(f"存款金额: {amount}, 存款月数: {time}, 月利息: {monthly_interest:.2f}")
except ValueError as e:
# 捕获并处理输入错误
print(e)
import re
def extract_numbers(text):
# 使用正则表达式匹配所有数字
pattern = r'\d+'
numbers = re.findall(pattern, text)
return numbers
# 示例文章
article = "python课程张老师说2025年2月26日据官网报告华山最高峰南峰海拔高度为2154.9米。"
# 调用函数提取数字
result = extract_numbers(article)
print(result)
# 定义两个向量(使用列表模拟)
vector1 = [1, 2, 3]
vector2 = [4, 5, 6]
# 初始化结果列表
result = []
for i in range(len(vector1)):
result.append(vector1[i] + vector2[i])
print(result)
import math def solve_quadratic_equation(a, b, c): # 计算判别式 discriminant = b ** 2 - 4 * a * c if discriminant > 0: # 两个不同的实数根 root1 = (-b + math.sqrt(discriminant)) / (2 * a) root2 = (-b - math.sqrt(discriminant)) / (2 * a) return root1, root2 elif discriminant == 0: # 一个实数根(重根) root = -b / (2 * a) return root, else: # 无实数根,返回复数根 real_part = -b / (2 * a) imaginary_part = math.sqrt(-discriminant) / (2 * a) return (real_part + imaginary_part * 1j), (real_part - imaginary_part * 1j) # 获取用户输入 a = float(input("请输入二次项系数 a: ")) b = float(input("请输入一次项系数 b: ")) c = float(input("请输入常数项 c: ")) # 解方程 roots = solve_quadratic_equation(a, b, c) # 输出结果 print("方程的根为:", roots)
2024010072刘芝池计算垂足
# 已知直线上一点 x1, y1 = 1, 1 # 直线斜率 k = 2 # 直线外一点 x0, y0 = 3, 4 # 计算直线的截距 b = y1 - k * x1 # 计算垂直线的斜率 k_perpendicular = -1 / k if k != 0 else float('inf') # 计算垂直线的截距 if k_perpendicular != float('inf'): b_perpendicular = y0 - k_perpendicular * x0 else: b_perpendicular = float('inf') # 联立方程求解垂足坐标 if k_perpendicular != float('inf'): x = (b_perpendicular - b) / (k - k_perpendicular) y = k * x + b else: x = x0 y = k * x0 + b print(f"垂足坐标为: ({x}, {y})")
2024010053李海洋数单词数目
def count_words(sentence): # 使用split()方法将句子按空格分割成单词列表 words = sentence.split() # 返回单词列表的长度 return len(words) # 示例句子 sentence = "This is a sample sentence to count the number of words." # 调用函数并打印结果 word_count = count_words(sentence) print(f"The number of words in the sentence is: {word_count}")
2024010044侯研计算均方差
import math
nums = [380, 385, 390, 395, 400]
# 计算均值
mean_value = sum(nums) / len(nums)
# 计算方差
variance = sum((num - mean_value) ** 2 for num in nums) / len(nums)
# 计算均方差(标准差)
std_dev = math.sqrt(variance)
print(std_dev)
2024010046焦梦妍将军饮马
import math
import matplotlib.pyplot as plt
# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei'] # 使用 SimHei 字体
plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
# 反射点计算
def reflect_point_over_line(a, b, c, x, y):
denominator = a**2 + b**2
if denominator == 0:
raise ValueError("Invalid line equation (a and b cannot both be zero).")
numerator = a * x + b * y + c
x_reflected = x - 2 * a * numerator / denominator
y_reflected = y - 2 * b * numerator / denominator
return (x_reflected, y_reflected)
# 直线交点计算
def line_intersection(a1, b1, c1, a2, b2, c2):
C1, C2 = -c1, -c2
det = a1 * b2 - a2 * b1
if det == 0:
return None
x = (b2 * C1 - b1 * C2) / det
y = (a1 * C2 - a2 * C1) / det
return (x, y)
# 解决将军饮马问题
def solve_general_horse_problem(a_line, b_line, c_line, A, B):
B_prime = reflect_point_over_line(a_line, b_line, c_line, *B)
xA, yA = A
xBp, yBp = B_prime
a2 = yBp - yA
b2 = xA - xBp
c2 = xBp * yA - xA * yBp
M = line_intersection(a_line, b_line, c_line, a2, b2, c2)
if M is None:
return None
total_length = math.hypot(xBp - xA, yBp - yA)
return M, total_length, B_prime
# 可视化函数
def plot_solution(a_line, b_line, c_line, A, B, M, B_prime):
# 绘制河岸直线
x = range(-10, 11)
y = [(-a_line * xi - c_line) / b_line if b_line != 0 else 0 for xi in x]
plt.plot(x, y, label="河岸直线", linestyle="--", color="gray")
# 绘制营地A和指挥部B
plt.scatter(*A, color="red", label="营地 A")
plt.scatter(*B, color="blue", label="指挥部 B")
# 绘制反射点 B'
plt.scatter(*B_prime, color="green", label="反射点 B'")
# 绘制最短路径
plt.plot([A[0], M[0]], [A[1], M[1]], color="red", linestyle="-", label="A 到 M")
plt.plot([M[0], B[0]], [M[1], B[1]], color="blue", linestyle="-", label="M 到 B")
# 绘制反射路径
plt.plot([A[0], B_prime[0]], [A[1], B_prime[1]], color="green", linestyle=":", label="A 到 B'")
# 标注饮马点 M
plt.scatter(*M, color="orange", label="饮马点 M")
plt.annotate(f"M {M}", M, textcoords="offset points", xytext=(10, -10))
# 设置图形属性
plt.axhline(0, color="black", linewidth=0.5)
plt.axvline(0, color="black", linewidth=0.5)
plt.grid(True)
plt.legend()
plt.title("将军饮马问题可视化")
plt.xlabel("X 轴")
plt.ylabel("Y 轴")
plt.show()
# 示例
if __name__ == "__main__":
# 河岸为 x 轴,A(0,1),B(3,2)
a_line, b_line, c_line = 0, 1, 0 # 河岸直线方程:y = 0
A = (0, 1)
B = (3, 2)
M, length, B_prime = solve_general_horse_problem(a_line, b_line, c_line, A, B)
print(f"饮马点坐标:{M},总路径长度:{length:.2f}")
plot_solution(a_line, b_line, c_line, A, B, M, B_prime)
2024010047 金佳仪三角形外接圆面积
import math
def distance(p1, p2):
return math.sqrt((p1[0] - p2[0]) ** 2 + (p1[1] - p2[1]) ** 2)
def triangle_area(a, b, c):
s = (a + b + c) / 2
return math.sqrt(s * (s - a) * (s - b) * (s - c))
def circumradius(a, b, c, area):
return (a * b * c) / (4 * area)
def circumcircle_area(radius):
return math.pi * radius ** 2
def main():
# 输入三角形的三个顶点坐标
p1 = (0, -5)
p2 = (4, 0)
p3 = (0, 3)
# 计算边长
a = distance(p2, p3)
b = distance(p1, p3)
c = distance(p1, p2)
# 计算三角形面积
area = triangle_area(a, b, c)
# 计算外接圆半径
radius = circumradius(a, b, c, area)
# 计算外接圆面积
circle_area = circumcircle_area(radius)
print(f"外接圆的面积为: {circle_area}")
if __name__ == "__main__":
main()
2024010050 康佳莹 加密英文字母
def encrypt_letter(letter):
# 检查是否为小写字母
if letter.islower():
if letter == 'z':
return 'a'
else:
return chr(ord(letter) + 2)
# 检查是否为大写字母
elif letter.isupper():
if letter == 'Z':
return 'A'
else:
return chr(ord(letter) + 2)
# 如果不是字母,直接返回
else:
return letter
def encrypt_text(text):
encrypted_text = ""
for char in text:
encrypted_text += encrypt_letter(char)
return encrypted_text
# 示例
input_text = input("请输入要加密的文本: ")
encrypted_text = encrypt_text(input_text)
print("加密后的文本:", encrypted_text)
2024010071 刘育榕阿拉伯数字变为罗马数字
# 阿拉伯数字转汉字的映射字典
num_to_chinese = {
0: '零', 1: '一', 2: '二', 3: '三', 4: '四',
5: '五', 6: '六', 7: '七', 8: '八', 9: '九'
}
# 阿拉伯数字转罗马数字的映射字典
num_to_roman = {
1000: 'M', 900: 'CM', 500: 'D', 400: 'CD',
100: 'C', 90: 'XC', 50: 'L', 40: 'XL',
10: 'X', 9: 'IX', 5: 'V', 4: 'IV', 1: 'I'
}
def arabic_to_chinese(arabic):
chinese = ""
num_str = str(arabic)
for digit in num_str:
chinese += num_to_chinese[int(digit)]
return chinese
def arabic_to_roman(arabic):
roman = ""
for value, symbol in num_to_roman.items():
while arabic >= value:
roman += symbol
arabic -= value
return roman
arabic_num = int(input("请输入一个阿拉伯数字: "))
print(f"对应的汉字是: {arabic_to_chinese(arabic_num)}")
print(f"对应的罗马数字是: {arabic_to_roman(arabic_num)}")
2024010075 鲁美宏统计周末的天数
import datetime
def count_weekends(start_date_str, end_date_str):
start_date = datetime.datetime.strptime(start_date_str, '%Y-%m-%d')
end_date = datetime.datetime.strptime(end_date_str, '%Y-%m-%d')
count = 0
current_date = start_date
while current_date <= end_date:
if current_date.weekday() in [5, 6]:
count += 1
current_date += datetime.timedelta(days=1)
return count
start_date = input("请输入开始日期(格式:YYYY-MM-DD):")
end_date = input("请输入结束日期(格式:YYYY-MM-DD):")
result = count_weekends(start_date, end_date)
print(f"在 {start_date} 到 {end_date} 之间,星期六和星期天的总天数为:{result} 天")
2024010051 雷晨瑞 统计素数的个数
def is_prime(n):
"""判断一个数是否为素数"""
if n <= 1:
return False
if n == 2:
return True
if n % 2 == 0:
return False
for i in range(3, int(n**0.5) + 1, 2):
if n % i == 0:
return False
return True
def count_primes(limit):
"""统计小于等于limit的素数个数"""
count = 0
for num in range(2, limit + 1):
if is_prime(num):
count += 1
return count
# 示例:统计小于等于100的素数个数
limit = 100
prime_count = count_primes(limit)
print(f"小于等于{limit}的素数个数为: {prime_count}")
2024010054李嘉靖 统计坦克轮子的数量
art = """ ▲学编程,你不是一个人在奋斗 | __|__ II=======00000[/——★007__ ] ___\________|/------ /___mibgrisoft.com__| \● ● ● ● ●/ ~~~~~~~~~~~~~~~~~~~ """ count = art.count('●') print("黑圆圈的数量是:", count)
2024010055李金俞 最大公因数
def gcd(a, b):
"""
计算两个数的最大公因数(GCD)
参数:
a (int): 第一个整数
b (int): 第二个整数
返回:
int: a 和 b 的最大公因数
"""
while b != 0:
a, b = b, a % b
return a
# 示例用法
num1 = 56
num2 = 78
result = gcd(num1, num2)
print(f"{num1} 和 {num2} 的最大公因数是: {result}")
2024010056 李竞薇 弹道曲线
import math
def calculate_range(initial_velocity, angle_degrees, gravity=9.81):
"""
计算抛射物的落点距离。
参数:
initial_velocity (float): 初速度 (m/s)
angle_degrees (float): 抛射角度 (度)
gravity (float): 重力加速度 (m/s²), 默认为 9.81
返回:
float: 落点距离 (米)
"""
# 将角度转换为弧度
angle_radians = math.radians(angle_degrees)
# 计算水平距离
range_distance = (initial_velocity ** 2 * math.sin(2 * angle_radians)) / gravity
return range_distance
# 示例使用
initial_velocity = 56 # 初速度 50 m/s
angle_degrees = 50 # 抛射角度 45 度
# 调用函数并打印结果
range_distance = calculate_range(initial_velocity, angle_degrees)
print(f"落点距离: {range_distance:.2f} 米")
2024010057 李楠 向量的叉积、点积
# 计算点积
vector1 = [1, 2, 3]
vector2 = [4, 5, 6]
dot_product = sum(a * b for a, b in zip(vector1, vector2))
print(dot_product)
# 计算叉积
vector3 = [1, 2, 3]
vector4 = [4, 5, 6]
cross_product = [vector3[1]*vector4[2] - vector3[2]*vector4[1],
vector3[2]*vector4[0] - vector3[0]*vector4[2],
vector3[0]*vector4[1] - vector3[1]*vector4[0]]
print(cross_product)
2024010059 李若楠 地支的属相
di_zhi_to_shu_xiang = {
"子": "鼠",
"丑": "牛",
"寅": "虎",
"卯": "兔",
"辰": "龙",
"巳": "蛇",
"午": "马",
"未": "羊",
"申": "猴",
"酉": "鸡",
"戌": "狗",
"亥": "猪"
}
di_zhi = input("请输入地支:")
if di_zhi in di_zhi_to_shu_xiang:
print(f"{di_zhi}对应的属相是{di_zhi_to_shu_xiang[di_zhi]}")
else:
print("输入的地支无效,请重新输入。")
2024010062廖佳怡 判断能否组成三角形
a, b, c = 3, 4, 5
# 判断能否构成三角形
if a + b > c and a + c > b and b + c > a:
# 如果是直角三角形(这里3、4、5是直角边),计算面积
area = 0.5 * a * b
print(f"这三条边能围成三角形,其面积为: {area}")
else:
print("这三条边不能围成三角形")
2024010064刘纯怡 正斜波与x轴相交,求X轴上半部分相交的面积
def area_with_x_axis(k, b):
if k == 0:
return "Slope cannot be zero."
return abs(b**2 / (2*abs(k)))
# Example usage:
k = 2
b = -3
area = area_with_x_axis(k, b)
print("Area with X-axis:", area)
2024010066 刘梦莹 求协方差
# 计算均值
def mean(data):
return sum(data) / len(data)
# 计算协方差
def covariance(data1, data2):
n = len(data1)
mean1 = mean(data1)
mean2 = mean(data2)
cov = 0
for i in range(n):
cov += (data1[i] - mean1) * (data2[i] - mean2)
return cov / (n - 1)
# 示例数据
data1 = [1, 3, 5, 7, 9]
data2 = [2, 4, 6, 8, 10]
# 计算并打印协方差
print("协方差为:", covariance(data1, data2)
2024010067 刘思雨 判断是不是质数
num = int(input("请输入一个整数: "))
if num < 2:
print(f"{num}不是质数")
else:
is_prime = True
for i in range(2, int(num ** 0.5)) :
if num % i == 0:
is_prime = False
break
if is_prime:
print(f"{num}是质数")
else:
print(f"{num}不是质数")
2024010068 刘晓津 协方差
def mean(data):
return sum(data) / len(data)
# 计算协方差
def covariance(data1, data2):
n = len(data1)
mean1 = mean(data1)
mean2 = mean(data2)
cov = 0
for i in range(n):
cov += (data1[i] - mean1) * (data2[i] - mean2)
return cov / (n - 1)
# 示例数据
data1 = [1, 3, 5, 7, 9]
data2 = [2, 4, 6, 8, 10]
# 计算并打印协方差
print("协方差为:", covariance(data1, data2))
2024010069 刘雅云 统计大小写
def count_uppercase(s):
"""
统计字符串中大写字母的个数
参数:
s (str): 输入的字符串
返回值:
int: 大写字母的个数
"""
count = 0 # 初始化计数器
for char in s: # 遍历字符串中的每个字符
if char.isupper(): # 如果字符是大写字母
count += 1 # 计数器加一
return count # 返回大写字母的总数
# 示例用法
input_string = "Hello World! This is a Test String."
uppercase_count = count_uppercase(input_string)
print(f"大写字母的个数是: {uppercase_count}")
2024010070 刘垚燚 姓名
names = ["刘垚燚", "惠鹏翼", "刘晓津", "刘雅云", "刘思雨"]
count = 0
for name in names:
if name.startswith('刘'):
count += 1
print(count)
2024010076马凤凤 因数
num = int(input("请输入一个整数:"))
factors = []
for i in range(1, num + 1):
if num % i == 0:
factors.append(i)
print(f"{num}的因数是:{factors}")
2024010081 孟佳茵 输入统计孙悟空出现次数
text = input("请输入一段文本: ")
count = text.count("孙悟空")
print(f"文本中“孙悟空”出现的次数为: {count}")
2024010082 聂小敏 100以内偶数求和
sum_even = 0
print("计算过程:")
for num in range(1, 101):
if num % 2 == 0:
sum_even += num
print(f"加上偶数 {num},当前总和为 {sum_even}")
print(f"\n100以内的偶数总和为:{sum_even}")
2024010084 师罗琦 任意取四组数可以组成多少个三角形
from itertools import combinations
def count_triangles(sides):
count = 0
for a, b, c in combinations(sides, 3):
if a + b > c and a + c > b and b + c > a and abs(a - b) < c and abs(a - c) < b and abs(b - c) < a:
count += 1
return count
side_lengths = list(map(int, input("请输入四条边长,以空格分隔:").split()))
if len(side_lengths)!= 4:
print("请输入四条边长。")
else:
result = count_triangles(side_lengths)
print(f"能组成的三角形个数为: {result}")
2024010086 孙景涵 0到9任取三个数,能组成多少个偶数
import itertools
# 从0 - 9中随机选取3个数字
nums = list(range(10))
combinations = itertools.permutations(nums, 3)
count = 0
for comb in combinations:
if comb[0]!= 0 and comb[-1] % 2 == 0:
count += 1
print(count)
2024010085 施祺 统计价格100元以内的商品数量
prices = [50, 150, 80, 200, 90]
count = 0
for price in prices:
if price <= 100:
count += 1
print(count)
2024010060 李若语 字符串出现次数
text=("""
学编程,,你不是一个人在战斗~~
▶
|
\_|_
II=======00000[/  ̄★007_|
___\___|/.
/__mingrisoft.com__|
\◎◎◎◎◎◎◎◎⊙/
~~~~~~~~~~~
""")
# 待统计的字符串
char_to_count = "◎" # 要统计的字符设为变量
count = text.count(char_to_count)
print(f"字符 '{char_to_count}' 在字符串中出现的次数为: {count}")
2024010074卢笑悦
from datetime import datetime
people = [
("张三", "610115200605230109"),
("李四", "610115200608290324"),
("王五", "610115200609240519")
]
def get_age(id_number):
birth_date_str = id_number[6:14]
birth_date = datetime.strptime(birth_date_str, '%Y%m%d')
today = datetime.now()
age = today.year - birth_date.year - ((today.month, today.day) < (birth_date.month, birth_date.day))
return age
sorted_people = sorted(people, key=lambda x: get_age(x[1]), reverse=True)
for person in sorted_people:
print(person[0])
2024010083彭子晖因数
num = int(input("请输入一个整数:"))
factors = []
for i in range(1, num + 1):
if num % i == 0:
factors.append(i)
print(f"{num}的因数是:{factors}")