Python练习册(二)

每周一练,上周的三道题目练习完了吗?有的童鞋觉得题目有点少,不过瘾,来啦,本周继续!

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第
3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后
问第一个人,他说是10岁。请问第五个人多大?
分析:
1.已知 first=10
2.下面每个人都比前一个人多2岁
3.定义一个临时变量用来存前一个人的年龄
4.题目一共5个人,大概循环4次,因为已知第一个人,可以减少一次循环

first=10 #第一个人的年龄
x=0
tmp=0
for i in range(1,5):
    tmp = first+2 #第二个人的年龄
    first=tmp#将年龄赋值给之前的那个人,继续循环
x=tmp
print(x)

题目:猜字游戏
guess_list=[“tiger”,“horse”,“sheep”,“mouse”,“panda”,“goose”]
随机选中一个单词,你必须一个字母一个字母的猜出单词。
如果你猜错了一个字母,你将丢掉一条命。
游戏中你一共有三条命(三次机会),用完了游戏结束,猜中了游戏也结束
分析:
1.要用到随机模块random中的方法choice(),从序列中随机获取一个值
2.定义猜测的次数,三次,每猜错一个字母就减少一次机会,直到三次机会用完
3.可以定义爱心heart_symbol = u’\u2764’ 作为生命符号体现
4.可以用一个列表来展示猜对的进度

import random
guess_list=["tiger","horse","sheep","mouse","panda","goose"]
word=random.choice(guess_list)
lives=3 #生命数3个

show_rs = list("?????")
heart = u'\u2764'
flag = False

def update_clue(letter,word,clue):
    index=0
    while index<len(word):
        if letter==word[index]:
            clue[index]=letter
        index+=1

while lives > 0:
    print(show_rs)
    print("剩余生命次数:"+heart*lives)
    letter = input("请猜字母或整个单词")

    if letter==word:
        flag=True
        break

    if letter in word:
        update_clue(letter,word,show_rs)
        if "?" not in show_rs:
            flag=True
            break
    else:
        print("错误,你丢了一条命\n")
        lives-=1

if flag:
    print("你赢了,答案是:"+word)
else:
    print("你输了,答案是:"+word)

题目:假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番

解题思路:

1.本金10000 一年下来本金+利息:10000*1.0325

2.一直循环计算,直到本金+利息>=20000,每循环一次,年份就增加一年

money=10000
year=0
while True:
    money=money*(1+0.0325)
    year+=1
    if money>=20000:
        break
print(money)
print(year)

===================================================
欢迎来到小杉虎之家,这里有专业的技术分享,欢迎交流!WX:xiaoshanhu_ck QQ群:806483382

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值