python 练习题目

总结了一些python的题目可供初学者练习
摘要由CSDN通过智能技术生成

练习题目

一、语言元素
练习1:华氏温度转摄氏温度。

摄氏温度©与华氏温度(F)的换算式是:C = 5×(F- 32)/9,F = 9×C /5+32。

# 华氏温度转摄氏温度
# 输入华氏温度,通过转化公式,输出摄氏温度

F = float(input("请输入华氏温度:"))
C = (5/9)*(F-32)
print("摄氏温度为:%.2f" %C)

总结:

  1. 字符串类型不能和数字相加减,然后使用了int()函数,又发现问题了,如果是输入小数时又会报错,然后就应该换成float()函数。
练习2:输入圆的半径计算计算周长和面积。
# 输入圆的半径计算计算周长和面积。
import math
r = float(input("输入圆的半径:"))
L = 2*(math.pi)*r
S = (math.pi)*r**2
print("周长为:%.2f"% L)
print("面积为:%.2f"% S)

总结:

π \pi π的表达方式

import math
math.pi
import numpy as np
np.pi

平方的表达方式

r**2

pow(r,2)
import numpy as np
np.power(r,2)
练习3:输入年份判断是不是闰年。
# 输入年份判断是不是闰年。

y = int(input("请输入年份:"))
if (y%4 == 0 and y%100!=0) or y%400==0:
    print("%d年是闰年" %y)
else:
    print("%d年不是闰年" %y)

总结 and or not 表示与或非逻辑运算符

​ & | 表示位运算符 ,按位运算符是把数字看作二进制来进行计算的

二、分支结构
练习1:英制单位与公制单位互换
# 英制单位与公制单位互换

'''
长度单位: 1 英 寸=2.5400 厘 米   
            1 英 尺 =12 英 寸 =0.3048 米   
            1 码 =3 英 尺 =0.9144 米    
            1 英 里 =1760 码 =1.6093 千 米 
'''


L = float(input("输入长度:"))
d = input('输入英制长度单位:')

if d=='英寸':
    print( '%f英寸=%f厘米'%(L,L*2.54))
elif d=="英尺":
    print(L ,"英尺=" ,L * 0.3048,"米")
elif d=="码":
    print(str(L) + "码=" + str(L * 0.9144) + "米")
elif d=="英里":
    print(str(L) + "英里=" + str(L * 1.6093) + "千米")
else:
    print("输入单位错误,请重新输入")

**总结:**三种输出方式:

​ 格式化输出

​ 字符串拼接使用+,输出时没有空格,

​ 多变量输出使用“,”有空格

​ 浮点数和字符串不能用+拼接

练习2:掷骰子决定做什么
from random import randint

face = randint(1, 6)
if face == 1:
    result = '唱首歌'
elif face == 2:
    result = '跳个舞'
elif face == 3:
    result = '学狗叫'
elif face == 4:
    result = '做俯卧撑'
elif face == 5:
    result = '念绕口令'
else:
    result = '讲冷笑话'
print(result)
练习3:百分制成绩转等级制
"""
百分制成绩转等级制成绩
90分以上    --> A
80分~89分    --> B
70分~79分	   --> C
60分~69分    --> D
60分以下    --> E

"""

score = float(input('请输入成绩: '))
if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'E'
print('对应的等级是:', grade)
练习4:输入三条边长如果能构成三角形就计算周长和面积
#  输入三条边长如果能构成三角形就计算周长和面积
import math
a = float(input("输入三角形第一条边长:"))
b = float(input("输入三角形第二条边长:"))
c = float(input("输入三角形第三条边长:"))

if a+b>c and a+c>b and b+c>a:
    L = a+b+c
    print("三角形周长为:%f" % L)
    p = L/2
    s = math.sqrt(p*(p-a)*(p-b)*(p-c)) # 海伦公式:使用三条边长计算三角形面积
    print("三角形的面积为:%f" % s)
else:
    print("对不起,这三条边不能构成三角形,请重新输入")

开根号

import math
math.sqrt()
import numpy as np
np.sqrt()
练习5:个人所得税计算器。

在这里插入图片描述

# 个人所得税计算器。
# 个人所得税(应发工资-五险一金-起征税额)*对应的税率-对应的速算扣除数

a = float(input("应发工资:"))
b = float(input("五险一金:"))

k = a-b-5000

if k <3000:
    diff = 0.03
    s = 0
elif k<12000:
    diff = 0.1
    s = 210
elif k<25000:
    diff = 0.2
    s = 1410
elif k<35000:
    diff = 0.25
    s = 2660
elif k<55000:
    diff = 0.3
    s = 4410
elif k<80000:
    diff = 0.35
    s = 7160
else:
    diff = 0.45
    s = 15160

w = k*diff-s

print("个人所得税额为:%.2f" % w)

# ------------------------------------------------------------

a = float(input("应发工资:"))
b = float(input("五险一金:"))

k = a-b-5000

money = [80000,55000,35000,25000,12000,3000,0]
rate = [0.45,0.35,0.3,0.25,0.2,0.1,0.03]
deduction = [15160,7160,4410,2660,1410,210,0]
for i in range(len(money)):
    if k > money[i]:
        w = k*rate[i]-deduction[i]
        break
print("个人所得税额为:%.2f" % w)


三、循环结构

1.用for循环实现1~100求和

sum = 0
for i in range(1,101):
    sum += i
    
print(sum)
# 下面这种更方便---------------------
sum = sum(i for i in range(1,101))
print(sum)

2.用for循环实现1~100之间的偶数求和

sum = sum(i for i in range(2,101,2))
print(sum)

3.猜数字游戏
计算机出一个1~100之间的随机数由人来猜
计算机根据人猜的数字分别给出提示大一点/小一点/猜对了

# 猜数字游戏
# 计算机出一个1~100之间的随机数由人来猜
# 计算机根据人猜的数字分别给出提示大一点/小一点/猜对了

import random
random.seed(0)
a = random.randint(1,100)

b = int(input("请输入数字:"))
k = 1
while k:  
    if a > b:
        print("再大一点")
        b = int(input("请再次输入:"))
    elif a<b:
        print("再小一点")
        b = int(input("请再次输入:"))
    else:
        k = 0
        print("猜对了")
        
# ----------------------------------------------------------------

import random

answer = random.randint(1, 100)
counter = 0
while True:
    counter += 1
    number = int(input('请输入: '))
    if number < answer:
        print('大一点')
    elif number > answer:
        print('小一点')
    else:
        print('恭喜你猜对了!')
        break
print('你总共猜了%d次' % counter)
if counter > 7:
    print('你的智商余额明显不足')

说明: 上面的代码中使用了break关键字来提前终止循环,需要注意的是break只能终止它所在的那个循环,这一点在使用嵌套的循环结构(下面会讲到)需要引起注意。除了break之外,还有另一个关键字是continue,它可以用来放弃本次循环后续的代码直接让循环进入下一轮。

4.输出乘法口诀表(九九表)

#  输出乘法口诀表(九九表)

for i in range(1,10):
    for j in range(1,i+1):
        print(str(j)+"*"+str(i)+"="+str(i*j),end='  ')
    print()
# ---------------------------------------------------------------

for i in range(1, 10):
     for j in range(1, i + 1):
         print('%d*%d=%d' % (j, i, i * j), end='\t')
     print()
# -------------------------------------------------------------------    
    
row = 1        # 行数,九九乘法表有九行,因此row从1开始到9结束
while row <= 9:   
    col = 1    #列数,
    while col <= row:    # 第一行有一次输出,第二行有两次输出,...col < row正好符合该条件
        print("%d * %d = %d\t" % (col,row,row*col),end="")  
      # print() 默认每次输出都会换行,是因为默认有一个换行符\n,使用end="",就可以不让他换行 
        col += 1
    print()     # 内层循环每循环一次都强制换行,开始下一行的输出
    row += 1

5.输入一个正整数判断它是不是素数

# 输入一个正整数判断它是不是素数
# 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数

a = int(input("输入一个正整数:"))

k&#
  • 78
    点赞
  • 383
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值