循环练习
循环练习
输入一个n,输出n个斐波拉切数
例:1,1,2,3,5,8,13,21,34,55,…
n = int(input(‘输入一个数:’))
a, b = 1, 1
print(a, b, end=’ ‘)
#当变量用不上时用“_”表示
for _ in range(2, n):
c = a + b
print(c, end=’ ‘)
a = b
b = c
百钱百鸡问题
公鸡5元一只,母鸡3元一只,小鸡1元3只,用100元买了100只鸡,公鸡母鸡小鸡各几只
分析:可以使用穷举法
穷举法:穷尽所有的可能性,然后设置条件,找到问题的值—–>暴力破解法
for i in range(21):
for j in range(34):
k = 100 – i – j
if k % 3 == 0 and 5 * i + 3 * j + k // 3 == 100:
print(i, j, k)
捕鱼
五个人晚上去捕鱼,捕了不计其数的鱼,然后累了去睡觉。
第二天,A*个醒来,把鱼分成了五分,扔掉了多余的1条,然后拿走了自己的一份
B第二个醒过来,以为鱼没分过,把剩下的鱼分成了5份,扔掉多余的1条,拿走自己的一份
C、D、E依次醒来,按照同样方法分鱼。
问他们捕了多少鱼?
n = 1
while True:
is_enough = True
total = n
for _ in range(5):
if (total – 1) % 5 == 0:
total = (total – 1) // 5 * 4
else:
is_enough = False
break
if is_enough:
print(n)
break
n += 1
猜数字
机生成一个1-100的数,输入自己猜的数,如果不对根据提示重新输入,如果猜的次数超出7,则退出循环,提示”智商余额不足“
import random
n = random.randrange(1, 101)
count = 0
while True:
x = int(input(‘输入你想的数:’))
count += 1
if x > n:
print(f’猜大了’)
elif x < n:
print(f’猜小了’)
else:
print(f’猜对了,猜了{count}次’)
break
if count > 7:
print(‘你的智商余额不足!’)
从键盘输入10个大于0的整数(1-99)找到平均值,*大值和*小值
s = 0
m = 1
n = 100
for _ in range(10):
x = int(input(‘请输入:’))
if x > m:
m = x
if x < n:
n = x
s += x
print(f’平均值为:{s / 10},*大值为:{m},*小值为:{n}’)