python第四次作业

1.判断一个整数是奇数还是偶数,至少有两种方式实现(位运算已经讲解的话)

number = int(input("请输入一个整数:"))

while number <= 0:
    print("输入的数错误,请重新输入!")
    number = int(input("请重新输入一个整数:"))

if number > 0:
    if number % 2 == 0:
        print("%d是偶数" %number)
    else:
        print("%d是奇数" %number)

number = int(input("请输入一个整数:"))

while number <= 0:
    print("输入的数错误,请重新输入!")
    number = int(input("请重新输入一个整数:"))

if number > 0:
    if number & 1 == 0:
        print("%d是偶数" %number)
    else:
        print("%d是奇数" %number)

num = 10
quotient, remainder = divmod(num, 2)
if remainder == 0:
    print(num, "是偶数")
else:
    print(num, "是奇数") 

2.求矩形的面积和周长

long = float(input("请输入矩形的长:"))
wide = float(input("请输入矩形的宽:"))

area = long * wide
C = 2 * (long + wide)
print("矩形的面积为%s" %area)
print("矩形的周长为%s" %C)

3.根据天数(从控制台上输入)计算周数和剩余的天数

day = int(input("请输入天数:"))

week = day // 7
remainder = day % 7

print("%d天有%d周" %(day, week))
print("剩余的天数为:%d" %remainder)

4.根据已知圆的半径radius(从控制台上输入),求其面积和周长(PI可以使用math.pi,也可以使用3.14)

radius = float(input("请输入圆的半径:"))

PI = 3.14
area = PI * radius**2
C = 2 * PI * radius

print("半径为%d的圆的面积为:%d" %(radius, area))
print("半径为%d的圆的周长为:%d" %(radius, C))

5.输入一个年份,判断该年是否是闰年

year = int(input("请输入年份:"))

if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
    print("%d是闰年" %year)
else:
    print("%d是平年" %year)

 

6.

输入赵本山的考试成绩,显示所获奖励

成绩==100分,爸爸给他买辆车

成绩>=90分,妈妈给他买MP4

90分>成绩>=60分,妈妈给他买本参考书

成绩<60分,什么都不买

score = int(input("请输入赵本山的考试成绩:"))

while score < 0 or score > 100:
    print("成绩输入错误!")
    score = int(input("请重新输入赵本山的考试成绩:"))

if score == 100:
    print("爸爸给他买辆车!")
else:
    if score >= 90:
        print("妈妈给他买MP4!")
    elif score < 90 and score >= 60:
        print("妈妈给他买本参考书!")
    else:
        print("什么都不买!")

 

7.计算器:请输入两个数和一个符号,完成两个数的+ - * / %  // **

def add(num1, num2):
    return num1 + num2

def subtract(num1, num2):
    return num1 - num2

def multiply(num1, num2):
    return num1 * num2

def divide(num1, num2):
    if num2 != 0:
        return num1 / num2
    else:
        print("除数不能为0!!!")

def surplus(num1, num2):
    if num2 != 0:
        return num1 % num2
    else:
        print("除数不能为0!!!")

def divisible(num1, num2):
    if num2 != 0:
        return num1 // num2
    else:
        print("除数不能为0!!!")

def power(num1, num2):
    return num1 ** num2


print("请选择操作:")
print("1.相加")
print("2.相减")
print("3.相乘")
print("4.相除")
print("5.取余")
print("6.整除")
print("7.幂次方")

choice = int(input("请选择你的操作(1/2/3/4/5/6/7):"))

num1 = float(input("请输入第一个数字:"))
num2 = float(input("请输入第二个数字:"))

          
if choice == 1:
    result = add(num1, num2)
    print("相加结果:", result)
            
elif choice == 2:
    result = subtract(num1, num2)
    print("相减结果:", result)
            
elif choice == 3:
    result = multiply(num1, num2)
    print("相乘结果:", result)
            
elif choice == 4:
    result = divide(num1, num2)
    print("相除结果:", result)
            
elif choice == 5:
    result = surplus(num1, num2)
    print("取余结果:", result)
            
elif choice == 6:
    result = divisible(num1, num2)
    print("整除结果:", result)
            
else:
    result = power(num1, num2)
    print("幂次方结果:", result)

 

 

 

8. 

健康计划

用户输入身高(m),体重(kg)

计算公式:BMI = 体重 / 身高^2   

BMI < 18.5:过轻

18.5≤ BMI <24:正常

24 ≤ BMI <27:过重

27 ≤ BMI < 30:轻度肥胖

30 ≤ BMI < 35:中度肥胖

BMI ≥ 35:重度肥胖

height = float(input("请输入用户身高(m):"))
weight = float(input("请输入用户体重(kg):"))

BMI = weight / height ** 2

if BMI < 18.5:
    print("你的体重过轻")
elif BMI >= 18.5 and BMI < 24:
    print("你的体重正常")
elif BMI >= 24 and BMI < 27:
    print("你的体重过重")
elif BMI >= 27 and BMI < 30:
    print("你的体重肥胖")
elif BMI >= 30 and BMI < 35:
    print("你的体重中度肥胖")
else:
    print("你的体重重度肥胖")

 

9.设计一个程序,完成英雄的购买,展示商品信息->输入品价格->输入购买数量->提示付款

输入付款金额->打印购买小票(扩展完成(英雄)商品的购买(界面就是第一天打印的界面)

展示商品信息(折扣)->输入商)(半成品)

# 英雄信息
products = {
    "小乔": 8000,
    "安其拉": 12000,
    "貂蝉": 18000,
    "吕布": 18000,
    "赵云": 6800,
    "刘备": 12000
}

# 折扣信息

discounts = {
    "小乔": 0.9,
    "安其拉": 0.8,
    "貂蝉": 0.8,
    "吕布": 0.7,
    "赵云": 0.9,
    "刘备": 0.7
}

# 展示商品信息

print("商品信息:")
product_index = 1
while product_index <= len(products):
    product = list(products.keys())[product_index - 1]
    price = list(products.values())[product_index - 1]
    discount = discounts.get(product, 1)
    discounted_price = price * discount
    print(f"{product}:原价{price}元,折后价{discounted_price}元")
    product_index += 1

# 输入商品价格和购买数量

while True:
    product_name = input("请输入要购买的商品名称(输入q退出):")
    if product_name == "q":
        break

    price = product.get(product_name)
    if price is None:
        print("该商品不存在")
    else:
        quantity = int(input("请输入购买数量:"))

# 计算总价

discount = discounts.get(product_name, 1)
total_price = price * quantity * discount

# 提示付款

print(f"您需要支付{total_price}元")

# 输入付款金额

while True:
    payment = float(input("请输入付款金额"))
    if payment >= total_price:
        break
    else:
        print("付款金额不足,请重新输入")

# 打印购买小票

change = payment - total_price
print("购买小票")
print(f"商品名称:{product_name}")
print(f"商品单价:{price}")
print(f"购买数量:{quantity}")
print(f"总价:{total_price}")
print(f"付款金额:{payment}元")
print((f"找零:{change}元"))

10.输入三边的长度,求三角形的面积和周长(海伦公式)

a = float(input("请输入第一边的长度:"))
b = float(input("请输入第二边的长度:"))
c = float(input("请输入第三边的长度:"))

while a + b <= c or a + c <= b or b + c <= a:
    print("输入的三边不能组成三角形,请重新输入!!!")
    a = float(input("请输入第一边的长度:"))
    b = float(input("请输入第二边的长度:"))
    c = float(input("请输入第三边的长度:"))


p = 0.5 * ((a + b) + c)
S = (p * (p - a) * (p - b) * (p - c)) ** 0.5
C = 2 * p

print("三角形的面积为:%d" %S)
print("三角形的周长为:%d" %C)

 

11.在控制台上上输入如下案例

***********

***********

***********

index = 1
layer = int(input("请输入打印的行数:"))

while index <= layer:
    print("*" * 11)
    index += 1

 

*

**

***

****

*****

******

layer = int(input("请输入你要打印的行数:"))

index = 1
while index <= layer:
    print("*" * index)
    index += 1

 

       *

      **

     ***

    ****

   *****

i = 1
while i <= 5:
    j = 1
    while j <= 5 - i:
        print(" ", end="")
        j += 1
    k = 1
    while k <= i:
        print("*", end="")
        k += 1
    print()
    i += 1

 

 

      *

     ***  

    *****

   *******

rows = int(input("请输入打印行数:"))

i = 1
while i <= rows:
    j = 1
    while j <= rows - i:
        print(" ", end = "")
        j += 1

    k = 1
    while k <= 2 * i - 1:
        print("*", end = "")
        k += 1

    print()
    i += 1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值