今天也是学习python的一天✌
打卡练习题:菜鸟100实例
021
题目
猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
分析
已知了时间范围以及第十天剩余桃子量,就采用从后往前推断(逆向思维)的方式。
代码
将数据存入list中,每次取列表最后一位,即当天剩余的桃子个数,计算得出前一天桃子余量,然后重复该操作。
li = [1]
for _ in range(9):
temp = (li[-1] + 1) * 2
li.append(temp)
# print(li)
print(f'第一天摘了{
li[-1]}个')
022
题目
两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
分析
用a、b、c来表示x、y、z,从而达到对应关系,用for循环排列组合,排除条件:1.题干给的,2.abc互不相等。
代码
代码一:
yi = ['x', 'y', 'z']
for a in yi:
for b in yi:
for c in yi:
if a != b and b != c and a != c \
and a != 'x' and c != 'x' and c != 'z':
print(f'对手关系:a-{
a}, b-{
b}