Python作业

demo1:

# 定义摄氏度和华氏度两个变量

celsius = float(input("请输入摄氏度:"))

fahrenheit = (celsius * 9/5) + 32

print("华氏温度为:", fahrenheit)

demo2:

import math

# 输入半径和高度

r, h = map(float, input().split())

# 计算圆柱体的底面积

area = math.pi * r * r

# 计算圆柱体的体积

volume = area * h

# 输出底面积和体积,保留两位小数

print("{:.2f}".format(area))

print("{:.2f}".format(volume))

demo3:

ft = float(input("请输入英尺数:"))

m = 0.305*ft

print(m)

demo4:

cost,percent = map(float,input().split())

money = cost*percent

allmoney = cost*(1+percent)

print("{:.2f}".format(money))

print("{:.2f}".format(allmoney))

demo5:

n = int(input())         # 获取用户输入的整数n

if n >= 0 and n < 1000:  # 判断n是否在0到1000之间

    a = n % 10           # 计算n的个位数字

    b = n // 10 % 10     # 计算n的十位数字

    c = n // 100         # 计算n的百位数字

    d = a + b + c        # 计算各位数字之和

    print(d)             # 输出各位数字之和

else:

    print("error!")      # 输出错误信息

demo6:

minute = float(input())  # 输入分钟数
year = minute/(60*24)/365  # 计算年数
day = minute/(60*24)%365  # 计算天数
print(int(year))  # 输出年数(取整)
print(int(day))  # 输出天数(取整)

demo7:

M = float(input())  # 输入物质的质量(单位:千克)
initialTemperature = float(input())  # 输入初始温度(单位:摄氏度)
finalTemperature = float(input())  # 输入最终温度(单位:摄氏度)

Q = M * (finalTemperature - initialTemperature) * 4184  # 计算热量变化量(单位:焦耳)
print("{:.1f}".format(Q))  # 输出热量变化量,保留一位小数
 

demo8:

n = int(input())

if n > 10000 or n < 1000:

    print("error")

else :

    a = n % 10

    b = n // 10 % 10

    c = n // 100 % 10

    d = n // 1000

    print(a)

    print(b)

    print(c)

    print(d)

demo9:

# 输入三个点的坐标

x1, y1, x2, y2, x3, y3 = map(float,input().split())

# 计算三条边的长度

side1 = ((x1 - x2)**2 + (y1 - y2)**2)**0.5

side2 = ((x1 - x3)**2 + (y1 - y3)**2)**0.5

side3 = ((x2 - x3)**2 + (y2 - y3)**2)**0.5

# 计算半周长

s = (side1 + side2 + side3)/2

# 根据海伦公式计算三角形面积

area = (s * (s - side1) * (s - side2) * (s - side3))**0.5

# 输出结果,保留一位小数

print("{:.1f}".format(area))

demo10:

from datetime import datetime, timedelta

def get_current_time(timezone):

    # 获取当前时间

    current_time = datetime.utcnow() + timedelta(hours=timezone)

    return current_time.strftime("%H:%M:%S")

timezone = int(input("请输入时区:"))

print("当前时间:", get_current_time(timezone))

demo11:

import math

# 输入三个点的坐标
x1, y1, x2, y2, x3, y3 = map(float, input().split())

# 计算三条边的长度
c = ((x1 - x2)**2 + (y1 - y2)**2)**0.5
b = ((x1 - x3)**2 + (y1 - y3)**2)**0.5
a = ((x2 - x3)**2 + (y2 - y3)**2)**0.5

# 利用余弦定理计算三个内角的角度值
A = math.degrees(math.acos((a * a - b * b - c * c) / (-2 * b * c)))
B = math.degrees(math.acos((b * b - a * a - c * c) / (-2 * a * c)))
C = math.degrees(math.acos((c * c - b * b - a * a) / (-2 * b * a)))

# 输出结果,保留两位小数
print("{:.2f}".format(A))
print("{:.2f}".format(B))
print("{:.2f}".format(C))
 

demo12:

def fun(n):

    temp = n

    a = temp // 1

    temp = temp - a * 1

    b = temp // 0.25

    temp = temp - b * 0.25

    c = temp // 0.1

    temp = temp - c * 0.1

    d = temp // 0.05

    temp = temp - d * 0.05

    e = temp // 0.01

    print(str(a) + "个一元硬币" + str(b) + "个两角五分硬币" + str(c) + "个一角硬币" + str(d) + "个五分硬币" + str(e) + "个一分硬币")

n = float(input())

fun(n)

demo13:

import math

n, s = map(float, input().split())

area = n * pow(s, 2) / (4 * math.tan(math.pi / n))

print(area)

demo14:

weight,height = map(float,input().split())

BMI = weight / (height * height)

if BMI < 18.5:

    print("超轻")

elif BMI >= 18.5 and BMI < 25.0:

    print("标准")

elif BMI >= 25.0 and BMI < 30.0:

    print("超重")

else:

    print("肥胖")

demo15:

def Leap(n):

    if (n % 4 == 0 and n % 100 != 0) or (Leap % 400 == 0):

        print("YES")

    else:

        print("NO")

n = int(input())

Leap(n)

demo16:

import random
num = int(input())  # 获取用户输入的数字
userNum = random.randint(10, 99)  # 生成一个随机的两位数
n1 = num % 10  # 获取用户输入数字的个位数
n2 = num // 10  # 获取用户输入数字的十位数
u1 = userNum % 10  # 获取随机数的个位数
u2 = userNum // 10  # 获取随机数的十位数
print(random)  # 方便代码检测
if num == userNum:  # 如果用户输入的数字和随机数相等
    print(10000)  # 输出10000
elif n2 == u1 and n2 == u2:  # 如果用户输入数字的十位数等于随机数的个位和十位数
    print(5000)  # 输出5000
elif n1 == u1 or n1 == u2 or n2 == u1 or n2 == u2:  # 如果用户输入数字的个位数或十位数与随机数的个位或十位数相等
    print(3000)  # 输出3000
else:
    print(0)  # 否则输出0
 

demo17:

# 接收用户输入的三个系数a、b和c
a, b, c = map(float, input().split())

# 计算判别式delta(delt)
delt = (b**2 - 4 * a * c)**0.5

# 如果delta大于0,则方程有两个不同的实根
if delt > 0:
    x1 = (-b + delt**0.5)/(2 * a) # 计算第一个根
    x2 = (-b - delt**0.5)/(2 * a) # 计算第二个根
    print("{:.2f}".format(x1)) # 打印第一个根,保留两位小数
    print("{:.2f}".format(x2)) # 打印第二个根,保留两位小数

# 如果delta等于0,则方程有一个重根
elif delt == 0:
    x1 = x2 = (-b)/(2 * a) # 计算重根
    print("{:.2f}".format(x1)) # 打印重根,保留两位小数

# 如果delta小于0,则方程没有实根
else:
    print("无解")
 

demo18:

# 接收输入的六个系数a、b、c、d、e和f
a, b, c, d, e, f = map(float, input().split())

# 判断方程组是否有解
if a * d - b * c > 0:
    print("无解")
else:
    # 计算x和y的值
    x = ((e * d) - (b * f)) / ((a * d) - (b * c))
    y = ((a * f) - (c * e)) / ((a * d) - (b * c))
    # 打印x和y的值
    print(x, y)
 

demo19:

num1, num2 = map(int, input().split())

i = (num1 + num2) % 7

def case1(i):

    if i == 0:

        return "星期天"

    elif i == 1:

        return "星期一"

    elif i == 2:

        return "星期二"

    elif i == 3:

        return "星期三"

    elif i == 4:

        return "星期四"

    elif i == 5:

        return "星期五"

    elif i == 6:

        return "星期六"

print(case1(i))

demo20:

# 输入年份、月份和日期
year, month, day = map(int, input().split())

# 判断是否为闰年,如果是闰年,则2月有29天,否则2月有28天
if ((year % 4 == 0) and (year % 100 != 0)) or (year % 400 == 0):
    month_array = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
else:
    month_array = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

# 初始化天数为0
days = 0

# 遍历月份数组,累加前面月份的天数
for i in range(month - 1):
    days += month_array[i]

# 加上当前月份的天数
days += day

# 输出结果
print(days)
 

demo21:

import math

def game(n):

choices = ["剪刀","石头","布"]

computer_choices = random.randint(0,2)    #电脑选择

print("计算机出的",choices[computer_choices])

print("用户出的",choices[user_choices])

if computer_choices == user_choices:

    print("平局")

elif (user_choices - computer_choices + 3) % 3 == 1:

    print("用户胜")

else:

    print("电脑胜")

demo22:

a,b,c = map(int,input().split())

if a + b > c and b + c > a and a + c > b:

    print(a + b + c)

else:

    print("error")

demo23:

# 用户输入年、月、日三个数据,这里假设输入的是2013 1 25

# 输入格式为:year month day

year, month, day = map(int, input().split())

# 根据泽勒的一致性算法计算星期几

# (1) h 是指一周的星期几(0表示星期六、1表示星期天、……6表示星期五)

# (2) q 是一个月的哪一天

# (3) m 是月份(3表示三月、4表示四月、…12表示十二月)

#      其中一月和二月都是按照前一年的13月和14月来计数的,所以还得把年份改为前一年

# (4) 是世纪数,即 year // 100

# (5) k 是一个世纪的某一年,即 year % 100

# (6) □ 为向下取整符号

# 如果月份小于3,将月份加上12,并将年份减一

if month < 3:

    month += 12

    year -= 1

# 计算世纪数和世纪中的某年

century = year // 100

year_in_century = year % 100

h = (day + 2 * month + 3 * (month + 1) // 5 + year_in_century + century // 4 - century // 100 + century // 400) % 7

# 根据 h 的值确定星期几,并将其转换为对应的星期名称

weekdays = ["星期六", "星期天", "星期一", "星期二", "星期三", "星期四", "星期五"]

print(weekdays[h])


 

demo 24:

x1, y1, x2, y2, x3, y3, x4, y4 = map(float, input().split())

A1 = y2 - y1

B1 = x1 - x2

C1 = A1 * x1 + B1 * y1

A2 = y4 - y3

B2 = x3 - x4

C2 = A2 * x3 + B2 * y3

det = A1 * B2 - A2 * B1

if det == 0:

    print("两条直线平行")

else:

    x = (B2 * C1 - B1 * C2) / det

    y = (A1 * C2 - A2 * C1) / det

    print("交点的坐标为:", x, y)

demo25:

n = int(input())

if n>=100 and n<1000:

    while(n>0):

        sum = 0

        temp = n

        while temp > 0:

            j = temp % 10

            sum = sum * 10 + j

            temp //= 10

        if sum == n :

            print("Yes")

            break

        else:

            print("No")

            break

else:

    print("error")

demo26:

x1, y1, w1, h1 = map(float, input().split())

x2, y2, w2, h2 = map(float, input().split())

left1, right1 = x1 - w1 / 2, x1 + w1 / 2

top1, bottom1 = y1 + h1 / 2, y1 - h1 / 2

left2, right2 = x2 - w2 / 2, x2 + w2 / 2

top2, bottom2 = y2 + h2 / 2, y2 - h2 / 2

if left1 <= left2 and right1 >= right2 and top1 >= top2 and bottom1 <= bottom2:

    print("包含")

elif left1 <= right2 and right1 >= left2 and top1 >= bottom2 and bottom1 <= top2:

    print("重叠")

else:

    print("相离")

demo27:

n = int(input())

def fun1(n):

    for i in range(1,(n + 1),1):

        for j in range(1,(i + 1),1):

            print(j, end = " ")

        print()

def fun2(n):

    for i in range(1,(n + 1),1):

        for j in range(1,(n - i + 2),1):

            print(j,end = " ")

        print()

def fun3(n):

    for i in range(1,(n + 1),1):

        print(" " * (n - i),end = " ")

        for j in range(i, 0, -1):

            print(j,end = "")

        print()

def fun4(n):

    for i in range(1, (n + 1),1):

        print(" " * (i - 1),end=" ")

        for j in range (1,(n-i+2),1):

            print(j,end = "")

        print()

fun1(n)

fun2(n)

fun3(n)

fun4(n)


demo28:

import math
n = int(input())  # 用户输入一个整数n
for i in range(1, (n + 1), 1):  # 外层循环控制行数,从1到n
    for j in range(1, (n - i + 1), 1):  # 内层循环控制空格的打印,从1到n-i+1
        print(" ", end=" ")  # 打印空格
    for k in range((1 - i), i, 1):  # 内层循环控制数字的打印,从1-i到i
        print(abs(k) + 1, end=" ")  # 打印数字
    print()  # 换行
 

demo29:

n = int(input())  # 用户输入一个整数n
for i in range(n+1):  # 外层循环控制行数,从0到n
    for k in range((n + 1) - i):  # 内层循环控制空格的打印,从0到n-i
        print(" ", end=" ")  # 打印空格
    for x in range(1 - i, i):  # 内层循环控制数字的打印,从1-i到i
        num = 2 ** (i - 1 - abs(x))  # 计算当前位置的数字
        print(num, end=" ")  # 打印数字
    print()  # 换行
 

demo30:

n = int(input())  # 用户输入一个整数n
for i in range(1, n + 1):  # 外层循环控制行数,从1到n
    for k in range(abs(n // 2 + 1 - i)):  # 内层循环控制空格的打印,从0到abs(n//2+1-i)
        print(" ", end="")  # 打印空格
    for j in range(1, i + 1):  # 内层循环控制数字的打印,从1到i
        if j <= i and i + j <= n + 1:  # 判断当前位置是否需要打印*
            if j == 1 or j == i or j + i == n + 1:  # 判断当前位置是否为金字塔的顶点或边缘
                print("*", end=" ")  
            else:
                print(" ", end=" ")  
    print()  # 换行
 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

憨豆先生.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值