每周一练,上周的三道题目练习完了吗?有的童鞋觉得题目有点少,不过瘾,来啦,本周继续!
题目:有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