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输入三个数,将这三个数从小到大输出
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 in range (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
sw = a // 10 % 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):
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):
for j in range(1,4 - i + 1):
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 /= 2
print("共经过"+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] = 28
for 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
a,b = a+1,b-1
if flag:
print("是回文数")
|