当前位置:   article > 正文

python入门牛刀小试02_python实现有一桶油、一个容量为5斤和一个容量为3斤的壶(没有刻度),要求打4斤油并

python实现有一桶油、一个容量为5斤和一个容量为3斤的壶(没有刻度),要求打4斤油并
  1. #1、 山上有一口缸可以装50升水,现在有15升水。老和尚叫小和尚下山挑水,每次可以挑5升。问:小和尚要挑几次水才可以把水缸挑满?通过编程解决这个问题。提示:
  2. #
  3. # 用整型变量water表示水缸里的水“water = 15;”。
  4. # 用整型变量l表示小和尚下山挑水的次数“l = 0;”。
  5. # 分析循环条件(水少于50升),循环操作(水增加5升,挑水次数增加1)。
  6. # 套用while循环写出代码。
  7. water = 15 #水缸里的水“water = 15;”
  8. l = 0 #小和尚下山挑水的次数“l = 0;”。
  9. while water<50: #while 当水大于等于50跳出while
  10. water += 5 #每一次加5 water = water + 5
  11. l += 1
  12. print(l)
  1. #2、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
  2. # 以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
  3. tao = 1
  4. print("第10天剩下1个桃")
  5. for day in range(9,0,-1):
  6. tao = tao * 2 + 2
  7. print("第%d天剩下%d个桃"%(day,tao))
  1. # 3、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
  2. # 我的思路是:除了第1次从100米高度落下,其余的9次都经历了“反弹-落地”的过程,每个过程来回走过的长度相当于上一个过程的高度。
  3. # 因此,把第1个过程初始化并赋值,从第2个过程开始,先次上一个过程的高度计算进去,再将高度减半,传递给下一个过程进行计算。代码如下:
  4. # 落下的路程
  5. totle_length = 0
  6. height = 100
  7. for i in range(0, 10):
  8. totle_length += height
  9. height /= 2
  10. print(height)
  11. # 弹起的路程
  12. totle_length = totle_length + totle_length - 100
  13. print(totle_length)
  1. 4、输出100以内的所有素数,每行显示5个;并求和。(素数:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除)count = 0 #定义一个变量为0是为了下面的每五个换行用的
  2. for n in range(1,101): #循环1-100
  3. if n == 1: #1不是素数所以跳过
  4. continue
  5. elif n ==2 : #因为运算的需要直接把2提出来,不然循环执行不了
  6. print(n,end=' ')
  7. count += 1 #输入了一个2 所以count+1
  8. else:
  9. for i in range(2,n): #执行n这个数去取余2到他本身如果有能等于0的证明他能被哪个数整除跳出循环
  10. if n%i==0:
  11. break
  12. else: #到本身没有可以整除的就是素数
  13. print(n,end=' ')
  14. count += 1
  15. if count == 5: #当输入5个数的时候执行换行,并把count再赋值为0
  16. count = 0
  17. print()
  1. 5、实现功能:
  2. 列表为:['Iphone8',6888],['MacPro',14800],['小米6',2499],['Coffee',31],['Book',80],['Nike Shoes',799]
  3. 实现一个类似购物车的语句,用户循环输入编号可以将列表内的商品储存到一个新的列表里面,当用户输入'q'时退出循环
  4. products = [['Iphone8', 6888], ['MacPro', 14800], ['小米6', 2499], ['Coffee', 31], ['Book', 80], ['Nike Shoes', 799]]
  5. shopping_car = []
  6. while True:
  7. print("-------商品信息---------")
  8. for index,i in enumerate(products):
  9. print("%s.%s %s"%(index,i[0],i[1]))
  10. chose = input("请输入你想添加购物车的商品信息(q键退出):")
  11. if chose.isdigit():
  12. chose = int(chose)
  13. shopping_car.append(products[chose])
  14. elif chose == "q":
  15. print("---------购物车商品信息-----------")
  16. for index,i in enumerate(shopping_car):
  17. print("%s.%s %s"%(index,i[0],i[1]))
  18. break
  1. # 6、使用字典,编写景区一个景点查询工具,
  2. # 要求:
  3. # 菜单分为省/市/景点三级菜单
  4. # 用户必须先输入省份查看全部地市信息
  5. # 用户输入地市可以查看本地的所有景点信息
  6. travel_map_dict = { "上海": {"崇明": ["崇明1", "崇明2", "崇明3", "崇明4"],
  7. "宝山": ["宝山1", "宝山2", "宝山3", "宝山4"],
  8. "奉贤": ["奉贤1", "奉贤2", "奉贤3", "奉贤4"]},
  9. "北京": {"昌平": ["昌平1", "昌平2", "昌平3", "昌平4"],
  10. "朝阳": ["朝阳1", "朝阳2", "朝阳3", "朝阳4"],
  11. "海淀": ["海淀1", "海淀2", "海淀3", "海淀4"]}}
  12. pro = input("请输入需要查看的省份:")
  13. for key in travel_map_dict:
  14. if pro == key:
  15. d = list(travel_map_dict[pro].keys())
  16. print(d)
  17. choice = input("是否想继续查看地级城市(是或否)")
  18. if choice == "否":
  19. print("结束查看!")
  20. break
  21. if choice == "是":
  22. pro1 = input("请输入需要查看的地级城市:")
  23. for key1 in travel_map_dict[pro]:
  24. if key1 == pro1:
  25. print(travel_map_dict[pro][key1])
  1. # 7、编写代码,实现双色球彩票一键选号功能:
  2. # 红球6个,号码在1—33之间,按从小到大排列
  3. # 篮球一个,排列在红球后面
  4. # 参考格式:
  5. # {‘红球’: [05,15,20,22,31,33],’蓝球’:[10,]
  6. import random
  7. a = int(input("请输入买的注数:"))
  8. for i in range(a):
  9. list00 = [k for k in range(0,37)]
  10. dict00 = {}
  11. b = []
  12. d = []
  13. for j in range(6):
  14. a = random.choice(list00)
  15. b.append(a)
  16. list00.remove(a)
  17. b.sort()
  18. list01 = [p for p in range(0,16)]
  19. c = random.choice(list01)
  20. d.append(c)
  21. key = "红球"
  22. value = b
  23. key1 = "蓝球"
  24. value1 = d
  25. dict00[key]=value
  26. dict00[key1] = value1
  27. print(dict00)
  1. # 8、用函数实现输入某年某月某日,判断这一天是这一年的第几天?闰年情况也考虑进去
  2. import datetime
  3. year00 = input("请输入一个年份:")
  4. month00 = input("请输入一个月份:")
  5. day00 = input("请输入一个日期:")
  6. d1 = datetime.datetime.strptime("2018-7-25","%Y-%m-%d")
  7. d2 = datetime.datetime.strptime("2018-1-1","%Y-%m-%d")
  8. date00 = d1 - d2
  9. print(date00.days)
  1. 9、声明两个方法,实现以下功能
  2. 方法一:根据输入的整型值创建一个一维列表,并将该列表进行 0~99的随机数赋值
  3. 方法二:遍历方法一返回的列表(试一试把列表当参数传进去)
  4. import random
  5. length = int(input("请输入列表的长度:"))
  6. list01 = []
  7. def make_list():
  8. for i in range(0, length):
  9. list01.append(random.randint(0, 99))
  10. print(list01)
  11. make_list()
  12. def print_list():
  13. for i in list01:
  14. print(i)
  15. print_list()
  1. 10、 模拟银行账户业务,实现存款、取款和余额查询。运行效果如下所示:
  2. 1.存款 2.取款 3.查询 0.退出
  3. 请选择你要办理的业务:1
  4. 请输入存款金额:1000
  5. ---------
  6. 存款成功!
  7. 1.存款 2.取款 3.查询 0.退出
  8. 请选择你要办理的业务:2
  9. 请输入取款金额:100
  10. ---------
  11. 取款成功!
  12. 1.存款 2.取款 3.查询 0.退出
  13. 请选择你要办理的业务:
  14. ---您当前账户余额:900元---
  15. 1.存款 2.取款 3.查询 0.退出
  16. 请选择你要办理的业务:0
  17. O(∩_∩)O谢谢您的使用,欢迎下次光临!
  18. total_money = 0
  19. def save_money(money, total_money):
  20. total_money += money
  21. return total_money
  22. def get_money(money, total_money):
  23. total_money -= money
  24. return total_money
  25. while True:
  26. select = input("1.存款 2.取款 3.查询 0.退出\n请选择你要办理的业务:")
  27. if select == "1":
  28. money = int(input("请输入存款金额:"))
  29. total_money = save_money(money, total_money)
  30. elif select == "2":
  31. money = int(input("请输入取款金额:"))
  32. total_money = get_money(money, total_money)
  33. elif select == "3":
  34. pass
  35. elif select == "0":
  36. break
  37. else:
  38. print("你输入的数字无效,重新输入")
  39. print("当前余额为%s"%total_money)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/848558
推荐阅读
相关标签
  

闽ICP备14008679号