今天一碗面条下去,感觉选择真的是一件太痛苦的事情了。我先先来也写个实用一点点程序吧。
软件并未动工,稍后会是第一版
========================================================
这里是第一版,使用 python3.5编辑,2.x系列也应该没有问题。
没什么要说的,注意缩进
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # Created by Alex on 2016/7/7 4 import random 5 import time 6 7 8 #食物列表,只需要更改列表即可 9 foodlist = ['面条', 'kfc19元套餐', 'kfc19.5元套餐'] 10 11 12 def get_random_number(seed, len_foodlist): 13 random.seed(seed) 14 random_number = random.randint(0, len_foodlist-1) 15 return random_number 16 17 18 def get_food(foodlist, random_number): 19 return foodlist[random_number] 20 21 22 def choocie_food(foodlist): 23 seed = time.time() 24 len_foodlist = len(foodlist) 25 random_number = get_random_number(seed, len_foodlist) 26 print(get_food(foodlist, random_number)) 27 28 if __name__ == '__main__': 29 choocie_food(foodlist)
现在是你该考虑自己的菜单了。
==========================================================================
突然想到一个问题就是 应该会 一闪而过。还应该阻止黑框
1 try: 2 key = raw_input("press any key to exit!") 3 except: 4 key = input("press any key to exit!")
如果单单使用 input 在2.x 有一个 EOF 异常. key 仅仅是个无用变量而已。
不得不承认 win 上的程序总是有明明奇妙的错误
例如 使用 py2运行的时候就会出现汉字乱码,更改起来其实很简单
1 def get_food(foodlist, random_number): 2 try: 3 return foodlist[random_number].decode('utf8') 4 except Exception: 5 return foodlist[random_number]
将get_food 方法的返回值解码成 unicode就可以了,由于 py3 的str 是没有decode 方法的灰执行另外的代码~!
===========================================16/08/09================================================
其实上边代买应该有点问题,没有交待清楚,如果 输入的 是类似于u"中文"这样的汉字,其实并不会执行到第一行,总会是第二行。
对于2和3的判断可以使用
1 import sys 2 3 4 _ver = sys.version_info 5 6 is_py2 = (_ver[0]==2) 7 is_py3 = (_ver[0]==3)
之后 就可以 不适用try ......catch 异常处理来区分2~3的行为了。
============================================16/08/23===============================================