1、运用python的控制语句if elif else
2、回顾输入输出函数的使用
3、使用random函数得到随机数
4、运用python的循环语句
5、熟悉了埃筛法找素数
6、练习了数组和参数传递
1、从键盘接收整数的一百分制成绩(0~100),要求输出其对应的成绩等级A~E。其中,90分(包含)以上为A,80~89(均包含)分为B,70~79(均包含)分为C,60~69(均包含)分为 D,60分以下为E。
(1)源代码:
score = int(input("请输入您的成绩(0~100): "))
if not 0 <= score <= 100:
print("输入的成绩不在有效范围内(0~100),请重新输入。")
else:
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
elif score >= 70:
grade = 'C'
elif score >= 60:
grade = 'D'
else:
grade = 'E'
print("您的成绩等级为:", grade)
(2)运行结果截图 :
2、编写程序,根据输入的长和宽,计算矩形的面积并输出。
(1)源代码:
import random
# 预设一个0~9之间的整数
target_number = random.randint(0, 9)
# 初始化一个变量来记录用户是否猜中
guessed_correctly = False
# 循环直到用户猜中数字
while not guessed_correctly:
# 获取用户输入
guess = int(input("请猜一个0~9之间的整数:"))
# 检查用户猜测是否正确
if guess == target_number:
guessed_correctly = True
print("恭喜!你猜中了!")
elif guess > target_number:
print("太大")
else:
print("太小")
(2)运行结果截图 :
3、某电商平台上销售不同规格包装、不同价格的水笔。编写程序,在不考虑运费的情况下,从键盘分别输人两种水笔的包装和价格,分别计算单根水笔的价格,根据价格就低原则打印输出选择购买哪种产品。
(1)源代码
# 从键盘接收第一种水笔的包装和价格
packaging1 = int(input("请输入第一种水笔的包装数量(支):"))
price1 = float(input("请输入第一种水笔的总价格(元):"))
# 计算第一种水笔的单根价格
single_price1 = price1 / packaging1
# 从键盘接收第二种水笔的包装和价格
packaging2 = int(input("请输入第二种水笔的包装数量(支):"))
price2 = float(input("请输入第二种水笔的总价格(元):"))
# 计算第二种水笔的单根价格
single_price2 = price2 / packaging2
# 根据价格就低原则,选择购买哪种产品
if single_price1 < single_price2:
print(f"推荐购买第一种水笔,单根价格为:{single_price1:.2f}元")
else:
print(f"推荐购买第二种水笔,单根价格为:{single_price2:.2f}元")
(2)运行结果截图
4、输出1000以内的素数以及这些素数之和(素数,是指除了1和该数本身之外,不能被其他任何整数整除的数)。
(1)源代码
def sieve_of_eratosthenes(n):
primes = [True] * (n + 1)
primes[0] = primes[1] = False
p = 2
while p * p <= n:
if primes[p]:
for i in range(p * p, n + 1, p):
primes[i] = False
p += 1
return [num for num, is_prime in enumerate(primes) if is_prime]
def prime_sum(n):
primes = sieve_of_eratosthenes(n)
prime_sum = sum(primes)
print("1000以内的素数有:", primes)
print("这些素数之和为:", prime_sum)
prime_sum(1000)
(2)运行结果截图
5、输人一个时间(小时:分钟:秒),输出该时间经过5分30秒后的时间。
(1)源代码
def add_time(hours, minutes, seconds, add_minutes=5, add_seconds=30):
# 将输入的时间转换为总秒数
total_seconds = hours * 3600 + minutes * 60 + seconds
# 将要添加的时间转换为秒
additional_seconds = add_minutes * 60 + add_seconds
# 计算新的总秒数
new_total_seconds = total_seconds + additional_seconds
# 将新的总秒数转换回小时、分钟和秒
new_hours = new_total_seconds // 3600
new_minutes = (new_total_seconds % 3600) // 60
new_seconds = new_total_seconds % 60
# 返回新的时间
return new_hours, new_minutes, new_seconds
input_hours = int(input("请输入小时数: "))
input_minutes = int(input("请输入分钟数: "))
input_seconds = int(input("请输入秒数: "))
# 计算新的时间
new_hours, new_minutes, new_seconds = add_time(input_hours, input_minutes, input_seconds)
# 输出新的时间
print(f"经过5分30秒后的时间是: {new_hours}小时 {new_minutes}分钟 {new_seconds}秒")
(2)运行结果截图
6、计算
(1)源代码
def find_max_n(limit):
n = 1
s = 0
results = []
while s <= limit:
s += n ** 2
results.append((n, s))
n += 1
return n-2, results
# 累加和不超过 1000 的最大项数
max_n, results = find_max_n(1000)
# 打印结果
print("n\ts")
for n, s in results:
print(f"{n}\t{s}")
print(f"累计和不超过 1000 的最大项是 n={max_n}。")