Python题目练习

Demo1

#摄氏度转华氏度

numC = eval(input("请输入摄氏度:"))

numF = (9/5) * numC + 32

print("对应华氏温度为",numF)

Demo2

#输入半径和高 求圆柱底面积和体积

r ,h = eval(input("请输入圆的半径和高:"))

area = r * r * 3.14

#圆柱的低面积

volume = area * h

#圆柱的体积

print("圆柱的底面积为",area)

print("圆柱的体积为",volume)

Demo3

#将英尺转化为米数

foot = eval(input("输入英尺数:"))

meter = foot / 0.305    #一英尺等于0.305米

print("等价于",'%.4f'%meter,"米")     # '%.4f' 保留四位小数(四舍五入的) 后面跟要保留位数的值 %名

Demo4

#计算小费

subtotal, remuneration = eval(input("请输入小计和酬金率"))

tip = subtotal * 0.01 * remuneration

sum = subtotal + tip

print("小费为:",'%.2f'%tip,"元")

print("总和为:",'%.2f'%sum,"元")

Demo5

#对一个整数中的各位数字求和

num = eval(input("输入一个0到1000之间的整数"))

a = num % 10      # %取余

num = num // 10   # //除去被取余的数字

b = num % 10

num = num // 10

c = num % 10

num = num // 10

sum = a + b + c

print(sum)

Demo6

# 计算年数和天数

minute = eval(input("请输入分钟数"))

day = minute / 60 / 24                       #求天数

year = day / 365                             #求年数

print(minute,"分钟为:",int(day),"天")

print(minute,"分钟为:",int(year),"年")

Demo7

#计算能量

M = eval(input())

initiaTemperature = eval(input())

finalTemperature = eval(input())

Q = M * (finalTemperature - initiaTemperature) * 4184

print('%.1f' % Q)

Demo8

#分割数字

num = eval(input())

ge = num % 10

num = num // 10

shi = num % 10

num = num //10

bai = num % 10

num = num // 10

qian = num % 10

print(ge)

print(shi)

print(bai)

print(qian)

Demo9

#计算三角形的面积

x1, y1, x2, y2, x3, y3 = eval(input())                    #输入坐标

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

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

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

s = (side1 + side2 + side3)/2                              #半周长

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

print('%.1f' % area)

Demo10

#显示当前时间

''' 1711245794.7560694

'''

import time

shiqv = eval(input())                                      #输入时区

print(time.time())

second = int(time.time()) % 60                            #秒数

minute = int(time.time()) % 3600 // 60                    #分

hour = int(time.time()) % (60 * 60 *24) // (60 * 60)        #时

print(hour + shiqv,":",int(minute),":",int(second))

Demo11

#计算三角形的三个角

import math        #导入math模版

x1,y1,x2,y2,x3,y3 = eval(input())

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

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

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

C = math.degrees (math.acos((a * a - b * b - c * c) / (-2 * b * c)))

A = math.degrees (math.acos((b * b - a * a - c * c) / (-2 * a * c)))

B = math.degrees (math.acos((c * c - b * b - a * a) / (-2 * a * b)))

以下是 cos() 方法的语法:

import math

math.cos(x) 

注意:cos()是不能直接访问的,需要导入 math 模块,然后通过 math 静态对象调用该方法。

参数

x -- 一个数值。

返回值

返回x的弧度的余弦值,-1 到 1 之间。

print(format('%.2f' % A))                                        

print(format('%.2f' % B))

print(format('%.2f' % C))

Demo12

total = eval(input("请输入总金额:"))

# 面额全都转化为整数 避免对浮点数取整出现精度问题

# 取余取整得到每种硬币的兑换个数

Total = total * 100

_100yuan = Total // 100

_025yuan = Total % 100 // 25

_010yuan = Total % 25 // 10

_005yuan = Total % 10 // 5

_001yuan = Total % 5 // 1

# 硬币兑换个数不带小数输出

print(int(_100yuan),"个一元硬币")

print(int(_025yuan),"个两角五分硬币")

print(int(_010yuan),"个一角硬币")

print(int(_005yuan),"个五分硬币")

print(int(_00

1yuan),"个一分硬币")

Demo13

#正多边形的面积

import math

n=int(input("请你输入边数:"))

s=float(input("请输入正多边形的变长:"))

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

print("面积:%.2f" % area)

Demo14

#计算身体质量指数

weight,height = eval(input())       #输入体重身高

BIM = weight / (height ** 2)  

if BIM < 18.5:                       #判定

    print("超轻")

elif BIM < 25.0:

    print("标准")

elif BIM < 30.0:

    print("超重")

else:

    print("肥胖")

Demo15

#判定闰年

year = eval(input())

if year % 4 == 0 and year % 100 != 0 and year % 400 == 0:

    print(year,"是闰年")

else:

    print(year,"不是闰年")

Demo16

#中彩票

import random

num = random.randint(1,99)      #随机数范围

print(num)

shu = eval(input())

n1 = num % 10    #得出随机数的十位数

n2 = num // 10   #得出随机数的个位数

s1 = shu % 10    #得出输入数的十位数

s2 = shu // 10   #得出输入数的个位数

if shu == num:   #当随机数与输入数相等时

    print(10000)

elif n1 == s2 and n2 == s1:    #数字一样 顺序相反

    print(3000)                

elif n1 == s1 or n1 == s2 or n2 == s1 or n2 == s2:     #只有一个数字一样

    print(1000)

else:             #没有数字一样    

    print(0)

Demo17

#解一元二次方程

a, b, c = eval(input())

delt = (b ** 2) - 4 * a *c      #判定式

if delt > 0:                    #判定式大于0 有两个实数解

    x1 = (-1 * b + ((b ** 2) - 4 * a *c) ** 0.5) / (2 * a)

    x2 = (-1 * b - ((b ** 2) - 4 * a *c) ** 0.5) / (2 * a)

    print(x1)

    print(x2)

elif delt == 0:                  #判定式等于0 只有一个解

    x1 = x2 = -1 * b / (2* a)

    print(x1)

elif delt < 0:                  #判定式小于0 没有解

    x1 = x2 = 0

    print(0)

Demo18

#解2x2方程

a, b,c, d, e, f = eval(input())

x = (e * d - b * f)/ (a * d - b * c)

y = (a * f - e *c ) / (a * d - b * c)

print('%.2f' % x)

print('%.2f' % y)

Demo20

#本年中的第几天

year, month, day = eval(input())

days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

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

    days[1] = 29

sumDay = sum(days[:month - 1]) + day

print('{}年{}月{}日是{}年第{}天'.format(year, month, day, year, sumDay))

Demo21

#石头剪刀布

import random  # 引入随机库

a = random.randint(0, 2)  # 随机数字0,1,2

while True:

    x = int(input("请输入数字0,1,2(剪刀为0,石头为1,布为2):"))

    if x <= 2 and x >= 0:

        print("你输入数字正确")

        break

    elif x > 2:

        print("你输入数字有误,请重新输入")

if x == 0:

    print("你输入是:剪刀")

    if x == 1:

        print("你输入的是:石头")

else:

    print("你输入的是:布")

print("生成的随机数是:", a)

if a == 0:

    print("生成的是:剪刀")

    if a == 1:

        print("生成的是:石头")

else:

    print("生成的是:布")

if a == x:

    print("平局")

elif x == 0:

    if a == 1:

        print("计算机赢")

    elif a == 2:

        print("用户赢")

elif x == 1:

    if a == 0:

        print("计算机赢")

    elif a == 2:

        print("用户赢")

elif x == 2:

    if a == 0:

        print("计算机赢")

    elif a == 1:

        print("用户赢")

Demo22

#计算三角形周长

 #判断输入的边长能否构成三角形,如果能则计算出三角形的周长和面积


 

a,b,c = eval(input())

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

    length = a + b + c

    print("三角形周长为 %.2f 。" % length)

else:

    print("非法")

Demo23

#一周的星期几

year, month, day = eval(input())

r = (26 *(month + 1))// 10

k = year % 100

j = year // 100

h = int((day + r + k + (k // 4)+(j // 4)+ 5 * j) %7)

if h == 0:

    print("星期六")

elif h == 1:

    print("星期天")

elif h == 2:

    print("星期一")

elif h == 3:

    print("星期二")

elif h == 4:

    print("星期三")

elif h == 5:

    print("星期四")

elif h == 6:

    print("星期五")

else:

    print("错误")


 

Demo25

def fun1(num):

    num_str = str(num)

    return num_str == num_str[::-1]

user_num = input("请输入一个数字:\n")

if fun1(user_num):

    print("是回文数")

else:

    print("不是回文数")

Demo27

#打印数字|

#模式A

for n in range(1,7):

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

        print(i, end = " ")

    print()

print()

print()

#模式B

for n in range(1,7):

    for i in range(7 - n, 0, -1):

        print(i, end = " ")

    print()

print()

print()

#模式c

for n in range(1,7):

    for j in range(7 - n):

        print(" ", end = " ")

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

        print(i, end = " ")

    print()

print()

print()

#模式D

for n in range(6,0,-1):

    for j in range(6 - n):

        print(" ", end = " ")

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

        print(i, end = " ")

    print()

Demo28

#打印数字||

for n in range(1,8):

    for j in range(7 - n, 0, -1):

        print(" ", end = " ")

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

        print(abs(i) + 1 ,end = " ")

    print()

Demo29

#打印数字|||

for n in range(1,8):

    for j in range(7 - n, 0, -1):

        print("  " ,end = " ")

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

        num = 2 ** (n - 1 - abs(i))

        print("%-2d"%num ,end = " ")

    print()

Demo30

#打印菱形|

"""

num = eval(input())                          #法1 根据绝对值

for x in range(1,num+1):

    n = abs((num + 1) // 2 - x)

    for j in range(n):

        print(" ",end = "")

    for i in range((num + 1) // 2 - n):

        print("*", end = " ")

    print()

"""

n = eval(input())                             #法2根据行和列之间的关系规律打印

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

    for k in range(abs(n // 2 - i + 1)):

        print(" ", end = "")

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

        if j <= i and i + j <= n + 1:

            print("*", end = " ")

    print()        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值