Python Day3作业

目录

1.

# 编写一个Python程序来查找那些可以被7除余5的整数的数字,介于1500和2700之间。
List = list()
for i in range(1500,2701):
    if i % 7 == 5:
        List.append(i)
print(List)
        

2.

龟兔赛跑游戏
题目描述
话说这个世界上有各种各样的兔子和乌龟,但是 研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。
于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔 子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以 上,它们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它们不到终点决不停止。
然而有些比赛相当漫长,全程观看会耗费大量时间,而小华发现只要在每场比赛开始后记录下兔子和乌龟的数据——兔子的速度v1(表示每秒兔子能跑v1 米),乌龟的速度v2,以及兔子对应的t,s值,以及赛道的长度l——就能预测出比赛的结果。但是小华很懒,不想通过手工计算推测出比赛的结果,于是他找 到了你——清华大学计算机系的高才生——请求帮助,请你写一个程序,对于输入的一场比赛的数据v1,v2,t,s,l,预测该场比赛的结果。
输入
输入只有一行,包含用空格隔开的五个正整数v1,v2,t,s,l,其中(v1,v2< =100;t< =300;s< =10;l< =10000且为v1,v2的公倍数)
输出
输出包含两行,第一行输出比赛结果——一个大写字母“T”或“R”或“D”,分别表示乌龟获胜,兔子获胜,或者两者同时到达终点。
第二行输出一个正整数,表示获胜者(或者双方同时)到达终点所耗费的时间(秒数)。

样例输入
10 5 5 2 20
样例输出
D
4

分析:判断距离

data= input('输入兔子的速度v1,乌龟的速度v2,兔子的领先t米,休息s秒,赛道的长度l:(用空格隔开)').split()
v1,v2,t,s,l = map(int,data)

#初始化参数
l1=0 #兔子跑的距离
l2=0 #乌龟跑的距离
t1=0 #兔子atcive跑步的时间
t2=0 #乌龟跑步的时间

if 0<v1<=100 and 0<v2<=100 and 0<t<=300 and 0<s<=10 and 0<l<=10000 and l%v1 ==0 and l%v2==0:    
    while l1 < l and l2 < l:
        if (l1-l2)>=t: #判断距离差,如果满足条件的话,兔子就要休息,增加乌龟的距离,并判断乌龟是否在这段时间超过终点
            l2 = l2 + v2*s #乌龟跑步距离增加,兔子不变
            if l2 >= l:  #乌龟在兔子休息的时候跑到了终点
                print("T", int(l/v2))
                break
            else:
                t2 = t2 + s #乌龟在兔子休息的时候没有跑到终点,乌龟跑步时间增加
        else: #不满足距离差,则兔子和乌龟都继续跑,距离更新,跑步时间+1
            t1 = t1 + 1
            t2 = t2 + 1
            l1 = l1 + v1
            l2 = l2 + v2
            
    if l1==l and l2==l:
        print("D", t2)        
    elif l2 == l:
        print("T", t2)           
    elif l1 ==l:
        print("R", t2)
                    
else:
    print("输入参数有误,请重新检查。")

#10 5 5 2 20
#D 4

#10 5 5 5 20
#T 4

#5 4 5 2 20
#R 4

#5 4 10 2 60
#R 14

#10 5 5 5 60
#R 11

猜你喜欢

转载自blog.csdn.net/weixin_48760912/article/details/114155598
今日推荐