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