python课程第一次上机作业
·
python课程第一次上机作业
实验一 程序控制结构(1)
一、实验目的
- 掌握顺序结构和选择结构的程序设计方法。
- 掌握if-elif-else语句的用法。
- 掌握程序调试方法,能够对常见的错误进行处理。
二、实验内容
1、编写程序,要求程序能根据用户输入的半径计算圆的面积,并分别输出圆的直径和面积。请在下方给出源代码和实验结果:
import math
# 输入圆的半径
radius = float(input("请输入圆的半径:"))
# 计算直径和面积
diameter = 2 * radius
area = math.pi * radius ** 2
# 输出结果
print(f"圆的直径为:{diameter}")
print(f"圆的面积为:{area:.2f}")
2、编写程序,判断一个分数score的等级。如果score大于等于90分,则记为“A”;如果score大于等于80分且小于90分,则则记为“B”;如果score大于等于70分且小于80分,则则记为“C”;如果score小于70分,则记为“D”。请在下方给出源代码和实验结果:
# 输入分数
score = float(input("请输入分数:"))
# 判断等级
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
else:
grade = "D"
print(f"分数等级为:{grade}")
3、输入年份和月份,输出该年的这个月份有几天。请在下方给出源代码和实验结果:
# 输入年份和月份
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
# 判断闰年(能被4整除但不能被100整除,或能被400整除)
is_leap_year = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
# 判断月份天数
if month == 2:
if is_leap_year:
days = 29
else:
days = 28
elif month in [4, 6, 9, 11]:
days = 30
else:
days = 31
print(f"{year}年{month}月有{days}天")
4、编写程序,功能如下:判断输入的一个整数能否同时被2和3整除,若能输出“Yes”;否则输出“No”。请在下方给出源代码和实验结果:
# 输入整数
num = int(input("请输入一个整数:"))
# 判断是否能同时被2和3整除
if num % 2 == 0 and num % 3 == 0:
print("Yes")
else:
print("No")
5、编写程序,输入两个整数a和b,输出a除以b的商和余数。请在下方给出源代码和实验结果:
# 输入两个整数
a = int(input("请输入整数a:"))
b = int(input("请输入整数b:"))
# 计算商和余数
quotient = a // b # 整除
remainder = a % b # 取模
print(f"{a}除以{b}的商为:{quotient}")
print(f"{a}除以{b}的余数为:{remainder}")
6、编程实现用户登录管理系统。提示用户输入用户名和密码,判断用户名和密码是否正确(要求用户名是admin,密码是123456)。如果正确,登录成功;如果错误,提示重新输入(最多可以尝试3次)。请在下方给出源代码和实验结果:
# 设置用户名和密码
correct_username = "admin"
correct_password = "123456"
max_attempts = 3
attempts = 0
# 登录循环
while attempts < max_attempts:
username = input("请输入用户名:")
password = input("请输入密码:")
if username == correct_username and password == correct_password:
print("登录成功!")
break
else:
attempts += 1
remaining_attempts = max_attempts - attempts
if remaining_attempts > 0:
print(f"用户名或密码错误,还有{remaining_attempts}次尝试机会")
else:
print("尝试次数过多,登录失败!")
7、编写程序,输入两个数,分别执行算术四则运算,除法运算精确到小数点后2位。请在下方给出源代码和实验结果:
# 输入两个数
num1 = float(input("请输入第一个数:"))
num2 = float(input("请输入第二个数:"))
operator = input("请输入运算符(+,-,*,/):")
# 执行相应的运算
if operator == "+":
result = num1 + num2
print(f"{num1} + {num2} = {result}")
elif operator == "-":
result = num1 - num2
print(f"{num1} - {num2} = {result}")
elif operator == "*":
result = num1 * num2
print(f"{num1} × {num2} = {result}")
elif operator == "/":
if num2 != 0: # 防止除数为0
result = num1 / num2
print(f"{num1} ÷ {num2} = {result:.2f}") # 保留2位小数
else:
print("错误:除数不能为0")
else:
print("错误:不支持的运算符")
三、实验报告的要求
- 在每一题目的下方给出源代码和实验结果。
- 对关键代码进行注释。
- 利用Debug模式对程序进行调试,观察选择结构和循环结构的区别。
更多推荐



所有评论(0)