实例001:数字组合
题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
程序分析 遍历全部可能,请把有重复的剃掉。
num = 0 for a in range(1, 5): for b in range(1, 5): for c in range(1, 5): if ((a != b) and (a != c) and (b != c)): print(a, b, c) num += 1
print('组成无重复三位数数字{}个'.format(num))
实例002:完全平方
题目:有一个1-100的整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
方法一 import math for i in range(1, 100): x = int(math.sqrt(i + 100)) y = int(math.sqrt(i + 100 + 168)) if x ** 2 == i + 100 and y ** 2 == i + 100 + 168: print(i)
方法二 for i in range(1, 100): x = int((i + 100) ** 0.5) y = int((i + 100 + 168) ** 0.5) if x ** 2 == i + 100 and y ** 2 == i + 100 + 168: print(i)
实例003:三数排序
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
方法一 x = int(input("请输入第一个数, x: ")) y = int(input("请输入第一个数, y: ")) z = int(input("请输入第一个数, z: ")) if x > y: x, y = y, x if x > z: x, z = z, x if y > z: y, z = z, y print(x, y, z)
方法二 a = input("请输入三个数字中间用英文逗号分隔: ") b = a.split(',') for x in range(len(b)): b[x] = int(b[x]) b.sort() for y in b: print(' '.join(str(y)), end=' ')
实例004:斐波那契I
题目:有一组数字1,1,2,3,5,8......,请找出规律用代码实现并打印输出。
a, b = 1, 0 for i in range(10): a, b = b, b + a print(b)
实例005:斐波那契II
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
a, b, c, d = 2, 1, 0, 0 for i in range(20): c = a / b d = round(d + c, 2) a, b = a + b, a print('前20项之和为{}'.format(d))
实例006:九九乘法
题目:输出 9*9 乘法口诀表。
方法一 for x in range(1, 10): for y in range(1, x + 1): print('{} * {} = {}'.format(y, x, x * y), end='\t') print()
方法二 x = 0 while x < 9: x += 1 y = 0 while y < x: y += 1 print('{} * {} = {}'.format(y, x, x * y), end='\t') print()
实例007:饲养兔子
题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,如兔子都不死,请问一年内兔子每月总数为多少?
a, b = 1, 0 for i in range(1, 13): a, b = b, b + a print('第{}月兔子总数是{}只。'.format(i, b * 2))
实例008:判断素数
题目:判断100-200之间有多少个素数,并输出所有素数。
num = 0 for x in range(100, 201): for y in range(2, x): if x % y == 0: break else: print(x) num +=1 print('100-200之间共有{}个素数'.format(num))
实例009:水仙花数
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1**3+5**3+3**3。
for i in range(100, 1000): x = i // 100 y = i // 10 % 10 z = i % 10 if x ** 3 + y ** 3 + z ** 3 ==i: print(i)
实例010:复读相加
题目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
a = int(input('请您输入一个正整数:')) b = int(input('请您输入几个数相加:')) c = 0 d = [] for i in range(b): c += a * 10 ** i d.append(c) print(sum(d))
实例011:猴子偷桃
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
s = 1 for i in range(9, 0, -1): s = (s + 1) * 2 print('猴子第{}天摘桃子个数为{}'.format(i, s))
实例012:比赛对手
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请你打印出比赛对战名单。
paly1 = ['a', 'b', 'c'] paly2 = ['x', 'y', 'z'] paly3 = [] for m in paly1: for n in paly2: if m + n != 'ax' and m + n != 'cx' and m + n != 'cz': paly3.append(m + n) for i in paly3: print('比赛名单为:甲队 {} VS 乙队 {} '.format(i[0], i[1]))
实例013:反向输出I
题目:给一个不多于5位的正整数。
要求:1、求它是几位数;2、逆序打印出各位数字。
num = input('请您输入一个正整数:') num = num[::-1] print('你输入的是{}位数,它的反向数字是{}'.format(len(num), num))
实例014:反向输出II
题目:按相反的顺序输出列表的值。
方法一 list = [1,2,3,4,5] list.reverse() print(list)
方法二 list = [1,2,3,4,5] list = list[::-1] print(list)
实例015:回文数字
题目:一个5位数,判断是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
x = int(input('请您输入一个五位整数:')) if x >= 0: y = int(str(x)[::-1]) if x == y: print(True) else: print(False) else: print(False)
实例016:完美对称
题目:“完全对称日”又被称为“回文日”。在用八位数字表示日期时,左右读数都是一致。
例如:2021年12月02日,请你找出2000-3000年之间的“回文日”。
for i in range(2000, 3000): x = str(i)[::-1] y = x[:2] z = x[-2:] if (1 <= int(y) <= 12) and (1 <= int(z) <= 30): print('{}年{}月{}日'.format(i, y, z))
实例017:整数求和
题目:统计 1 到 100 之和。
num = 0 for i in range(1, 101): num += i print(num)
实例018:计算成绩
题目:手动输入考试人数和考试成绩,请计算这次考试的最高分、最低分和平均分。
number = int(input('请你输入考试人数:')) ls = [] for i in range(number): score = int(input('请你输入考试分数:')) ls.append(score) print('考试最高成绩:{}'.format(max(ls))) print('考试最低成绩:{}'.format(min(ls))) print('考试平均成绩:{}'.format(round(sum(ls)/len(ls),2)))
实例019:今晚吃啥
题目:相信很多同学都有吃饭选择困难,请编写程序根据预算金额输出可选食物。
food = { '小火锅': 80, '牛肉汉堡': 32, '日式拉面': 24, '披萨': 36, '石锅拌饭': 20, '兰州拉面': 18, '蛋炒饭': 12, '螺蛳粉': 22, '小馄饨': 7 } mon = int(input('请您输入今晚预算:')) if mon < 7: print('预算不足,喝凉白开减肥吧?') else: print('今晚可以吃的有:') for i in food: if food[i] <= mon: print(i)