几个Python小练习

mac2026-01-21  6

发几个Python小练习吧,每日锻炼一点点

1,为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时?我又自己添加了一点东西,把作战时间改成自己输入的了。

def time_to_day(): day = 0 tim = int(input("战士抵抗了多少小时:")) chose = True while chose: if tim > 24: day += 1 tim -= 24 else: chose = False print("战士们抵抗了多少天:{0}零多少小时{1}".format(day,tim)) if __name__ == '__main__': time_to_day()

2、今天是周二,100天以后是周几?这个我也自己加了一点东西,把今天是星期几,和经过多少天都变成了输入。

def week(): today = int(input("请输入今天是星期几:(1-7)")) day = int(input("请输入经过多少天:")) t1 = day % 7 now = today + t1 now_dict = {1:'一',2:'二',3:'三',4:'四',5:'五',6:'六',7:'日'} if now > 7: now -= 7 else: print("经过{0}天后,是星期{1}".format(day,now_dict[now])) if __name__ == '__main__': week()

3、小明要到美国旅游,可是那里的温度是以华氏度为单位记录的。它需要一个程序将华氏温度(80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。华氏度为输入。

def temper(): tem = int(input("请输入您现在的华氏度:")) cel = (tem - 32) / 1.8 print("现在的摄氏度为{0}".format(cel)) if __name__ == '__main__': temper()

4、赌数游戏 提供三个1-6的随机数,作为掷骰子得到的点数。如果各个点数相同,则为豹子。 如果三个骰子点数和,小于或等于9,则为“小”。 如果三个骰子点数和,大于9,则为“大”。 用户随机选择:押大、押小或者押豹子。通过判断,输出客户是否押正确。

import random def debt(): temp1 = random.randint(1,6) temp2 = random.randint(1,6) temp3 = random.randint(1,6) temp = temp1 + temp2 + temp3 errmsg = "" if temp1 == temp2 and temp1 == temp3: errmsg += "豹子" elif temp > 9: errmsg += "大" elif temp <= 9: errmsg += "小" while 1: guess = input("大、小还是豹子:") if guess == errmsg: print("客官好运气,押对了") break else: print("不要气馁,再来") if __name__ == '__main__': debt()

5、编写程序:从键盘上读入一个学生成绩,存放在变量score中,根据score的值输出其对应的成绩等级: score>=90 等级:A 70=<score<90 等级:B 60=<score<70 等级:C score<60 等级:D

def text(): score = int(input("请输入学生成绩:")) if score > 90: print("A") elif score <90 and score >= 70: print("B") elif score <70 and score >= 60: print("C") else: print("D") if __name__ == '__main__': text()

6、3000米长的绳子,每天减一半。问多少天这个绳子会小于5米?不考虑小数。

def cut_rope(): rope = 3000 day = 0 while 1: if rope > 5: rope /= 2 day += 1 else: print("经过了{0}天,绳子小于5米".format(day)) break if __name__ == '__main__': cut_rope()

8、打印自然数的个数 1)打印1~100之间 6的倍数的个数 2)求出1~100之间,既是3又是7的倍数的自然数出现的次数? 多加了点把每个数字也输出了。

def main(): number = range(1,101) num_1 = [] num_2 = [] num1 = 0 num2 = 0 for i in number: if i % 6 == 0: num1 += 1 num_1.append(i) if i % 3 == 0 and i % 7 == 0: num2 += 1 num_2.append(i) print("6的倍数出现{0}次,分别是:{1};3和7的倍数出现{2}次,分别是:{3}".format(num1,num_1,num2,num_2)) if __name__ == '__main__': main()

9、打印如下的图形:三角形

def main(): row = 1 errmsg = '*' while 1: print(errmsg * row) if row < 6: row += 1 else: break while 1: if row > 0: row -= 1 print(errmsg * row) else: break if __name__ == '__main__': main()

10、山上有一口缸可以装50升水,现在有15升水。老和尚叫小和尚下山挑水,每次可以挑5升。问:小和尚要挑几次水才可以把水缸挑满?通过编程解决这个问题。 我多加了输入现有多少升水,在得结果。

def main(): water_g = 50 water_x = int(input("现有水多少升:")) water = water_g - water_x num = 0 while 1: if water > 0: num += 1 water -= 5 else: print("和尚下山挑水{0}次".format(num)) break if __name__ == '__main__': main()

好了,这次分享结束了,欢迎参观和各位大佬的指正。

最新回复(0)