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模式对程序进行调试,观察选择结构和循环结构的区别。
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐