python基础20道小练习
- 1. 输入三个数,将这三个数从小到大输出
- 2. 分数判断
- 3. 猜数字游戏
- 4. 一张纸厚度约为001mm,对折多少次后可以达到珠穆朗玛峰的高度?
- 5. 短信计费
- 6. 水仙花数
- 7. 鸡兔有35头,94足,求鸡和兔分别多少只?
- 8. 反转一个三位数
- 9. 素数
- 10. 直角三角形
- 11. 等腰三角形
- 12. 乘法口诀表
- 13. 猴子摘桃
- 14. 小球问题
- 15. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前 20 项之和。
- 16. 世纪闰年和普通闰年
- 17. 判断输入的日期是今天的第几天
- 18. 将一个正整数分解质因数
- 19. 完数
- 20. 回文数
1. 输入三个数,将这三个数从小到大输出
a = int(input("请输入第1个正整数:"))
b = int(input("请输入第2个正整数:"))
c = int(input("请输入第3个正整数:"))
if(a > b):
a = b
if(a > c):
a = c
print(a)
【python练习题|python基础20道小练习】python输入三个数,将这三个数从小到大输出
2. 分数判断
score = int(input('输入分数:'))
if score >= 90:
grade = '优秀'
elif score >= 80:
grade = '良好'
elif score >= 60:
grade = '中等'
else:
grade = '差'
print('%d分 %s' % (score,grade))
3. 猜数字游戏 数字猜谜游戏:
猜大了提示:猜的数字大了
猜小了提示:猜的数字小了
猜正确停止
分析:猜正确停止,那就是使用到while循环了。
number = 5
a = 0
print('欢迎进入猜数字游戏')
while a != number:
a = int(input('请输入你要猜的数字'))
if a == number:
print('恭喜你,猜对了')
elif a < number:
print('猜小了')
elif a > number:
print('猜大了')
else:
print('好好玩哦~')
python分支结构小案例
4. 一张纸厚度约为001mm,对折多少次后可以达到珠穆朗玛峰的高度?
i = 0.08
count = 0
while i <= 8844000:
count += 1
i *= 2
print('折'+str(count)+'次')
while循环
5. 短信计费 用手机发短信,一条短信资费为0.1元,但限定一条短信的内容在70个子以内(包括70个字)。
如果你一次所发送的短信超过了70个字,则会按照每70个字一条短信的限制把它分割成多条短信,假设已经知道你当月所发送的短信的次数与字数,试统计一下你当月的短信的总资费。
输入:
整数n,表示当月发送短信的总次数,接着n行每行一个整数,表示每次短信的字数。
输出:
当月短信总自费,单位为元,精确到小数点后1位。
import math # 导入模块
money = 0
a = []
b = int(input("请输入总次数:"))
for i in range(1,b+1):
c = int(input("请输入第"+str(i)+"次的字数:"))
a.append(c)for x inrange (len(a)):
if(a[x] <= 70):
money += 1
if(a[x] > 70):
z = math.ceil(a[x] / 70)
money += z
print(money*0.1)
for循环
6. 水仙花数 判断一个三位数是否为水仙花数
a = eval(input("请输入一个数字"))
bw = a // 100# 整除获得百位数("//" 表示整除,比如 3//2=1;
"/" 表示浮点运算,比如3/2=1.5)
sw = a // 10 % 10# 或者b = (i % 100) // 10
gw = a % 10
s = pow(gw, 3) + pow(sw, 3) + pow(bw, 3)
if (s == a):
print(a, end="")
print("是水仙花数!")
else:
print(a, end="")
print("不是水仙花数")
python水仙花数
7. 鸡兔有35头,94足,求鸡和兔分别多少只?
for j in range(36):
for t in range(36):
if (j * 2 + t * 4 == 94 and j + t == 35):
print('有{}只鸡,有{}只兔'.format(j,t))
python穷举法
8. 反转一个三位数
a = int(input('请输入一个数字:'))
bw = a // 100
sw = a % 100 // 10
gw = a % 10
reverse = gw * 100 + sw * 10 + bw
print(reverse)
python反转一个三位数
9. 素数
def IsSu(m):
if m == 1:
return false
for i in range(2,m): # 遍历2,3,4,5,6....m-1,都放在i中,如果m除i等于0 则为素数
if m % i == 0:
return False # 不是素数
else:
return True#是素数while True:
a = int(input("请输入一个素数:"))
if IsSu(a):
print("是素数")
else:
print("不是素数")
10. 直角三角形
for i in range(1,7):
for j in range(i):
print("*",end="")
print()
11. 等腰三角形
for i in range(1,5):# range(5),输出4行
for j in range(1,4 - i + 1): # 空格数:行数减一,这里为什么加1?请注意range()的取值范围
print(" ",end="")
for j in range(1,i + 1): # 正着的数:行数
print(j ,end="")
for j in range(i-1,0,-1): # 倒着的数:行数减一
print(j,end="")
print()
12. 乘法口诀表
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('{}*{}={}'.format(j,i,(i*j)),end=' ')
print()
13. 猴子摘桃
a = 1 # 第十天剩下桃子的数量
for i in range(9,0,-1):
a = (a + 1)* 2
print("猴子第"+str(i)+"天有"+str(a)+"个桃子")
14. 小球问题 一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下, 求它在第 10 次落地 时,共经过多少米?第 10 次反弹多高?
sum = 100
a = sum / 2
for i in range(2,11):
sum += 2 * a
a /= 2print("共经过"+str(sum)+"米")
print("第 10 次反弹"+str(a)+"米")
15. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前 20 项之和。
a = 2
b = 1
c = 0
print("2/1")
for i in range(1,20):
c = a + b
b = a
a = c
print(str(a)+"/"+str(b))
16. 世纪闰年和普通闰年
year = int(input('请输入一个年份:'))
if(year % 4 == 0):
if(year % 100 == 0):
if(year % 400 == 0):
print('{0}是世纪闰年'.format(year))
else:
print('{0}不是闰年'.format(year))
else:
print('{0}是普通闰年'.format(year))
else:
print('{0}不是闰年'.format(year))
17. 判断输入的日期是今天的第几天
year = int(input('请输入年份'))
month = int(input('请输入月份'))
day = int(input('请输入今天的日期'))
date = [31,29,31,30,31,30,31,31,30,31,30,31]
count = day # 这个月一共有多少天
if(year % 4 == 0) and (year % 100 != 0) or (year % 400 == 0):
print('{0}是闰年'.format(year))
date[1] = 29
else:
print('{0}不是闰年'.format(year))
date[1] = 28for i in range(month - 1):
count += date[i]
x = date[month-1]
print('本月一共有{0}天'.format(x))
print('{0}年{1}月{2}日是今年的第{3}天'.format(year,month,day,count))
python判断闰年
18. 将一个正整数分解质因数 例如输入90,输出:90=233*5
对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>i,但n能被i整除,则应打印出i的值,并用n除以i的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被i整除,则用i+1作为i的值,重复执行第一步。
n = int(input("请输入一个数:"))
print(n,'=',end="")
i = 2
while i <= n:
if i == n:
print(i, end="")
break
elif n % i == 0:
print(i, end="*")
n = n / i
else:
i += 1
19. 完数 题目: 输出1000以内的完数,并统计完数的个数
一个数等于它的因子之和,这个数就被称为完数,例如:6 = 1 + 2 + 3,6的因子为:1,2,3
n = 0 # 完数个数
for a in range(1,1001):
list=[]
for b in range(1,a):
if a % b == 0:# 把因子找出来,放进列表中
list.append(b)
if a == sum(list):
print(a)
n +=1 print("1000以内的完数有"+str(n)+"个")
20. 回文数 比如:123321,它们的第一位和最后一位都相同,第二位和倒数第二位相同
n = input("请输入数字")
a = 0
b = len(n)-1 # 长度减一,去掉中间的一个数字
flag = True
while a < b:
if n[a] != n[b]: # 下标来判断是否相等
print("不是回文数")
flag = False
break
# print(a,b)
a,b = a+1,b-1
if flag:
print("是回文数")
推荐阅读
- 【原创】Selenium获取请求头、响应头
- 编程语言|TIOBE 5 月编程语言排行榜(Python、C++ 竞争白热化,Objective-C 已沦为小众语言)
- 业界资讯|TIOBE 5 月编程语言排行榜(C# 最受开发者欢迎,C++ 将冲击 Top 3)
- 大数据|从CVPR 2021看计算机视觉的现状
- 算法|机器学习 python 库_Python机器学习库
- 算法|2022数维杯全网思路+数据+代码
- 知识汇总(python办公自动化应该学习哪些内容)
- python|Python 从入门到精通(一个月就够了!)
- 【Python爬虫】Python爬虫开发(从入门到实战(谢乾坤)[1-3])