作业 -- 几道简单的Python题
2019-04-11 10:19:17来源:博客园 阅读 ()
1、编写程序,要求生成10240个随机[0,512)之间的整数,并统计每个元素出现的次数。
2、编写程序,要求当用户输入一个列表和两个整数作为下标时,程序可以使用切片获取并输出列表中截取两个下标之间的元素组成的子列表。例如,用户输入 [4,8,5,3,9]和1,2时,程序输出[8]。
3、编写程序,要求设计一个字典,如{'Name': 12 ,'age': 20 , 'sex': 'boy'},当用户输入内容作为“键”(例如输入Name),然后输出字典“键”所对应的 “值”(输出12)。如果用户输入的“键”不在字典中(例如输入ID),则输出“您输入的键不存在”,并退出程序。
4、编写程序,要求对两个列表,编写程序将这两个列表的内容转换为字典,并且以其中一个列表中的元素为“键”,另一个列表中的元素为“值”。
(以下代码均为python2的代码,本来我也是用python3的,因为某些原因,愣是把python3换成了python2)
第一题
1 #!/usr/bin/python 2 # -*- coding: utf-8 -*- 3 4 import random 5 import sys 6 import os 7 8 version_error_info = '请使用Python2'.decode('utf-8').encode('gbk') 9 if sys.version_info >= (3, 0): 10 raise RuntimeError(version_error_info) 11 12 n = 10240 13 max_int = 511 14 list = [] # 保存生成的整数 15 dic = dict.fromkeys(range(max_int+1),0) # key为元素,value为出现次数 16 17 def build(): 18 for i in range(n): 19 key = random.randint(0,max_int) 20 list.append(key) 21 dic[key] = dic[key]+1 22 23 def show(): 24 # for i in list: 25 # print(list[i]) 26 for key in dic: 27 print key,':',dic[key] 28 29 def main(): 30 build() 31 show() 32 os.system('pause') 33 34 if __name__ == '__main__': 35 main()
思路:
导入random模块,调用random.randint()方法来生成随机数
用一个字典来保存每个元素出现的次数,其中key为每种元素(即[0,512)),value为每种元素个数,当然也看可以不用字典来做,直接调用python中列表的count函数如list.count(0)即可返回数字0在list中的出现次数
运行结果:
第二题
1 #!/usr/bin/python 2 #-*- coding:utf-8 -*- 3 4 import sys 5 import os 6 7 version_error_info = '请使用Python2'.decode('utf-8').encode('gbk') 8 9 if sys.version_info >= (3, 0): 10 raise RuntimeError(version_error_info) 11 12 def build(): 13 str = raw_input() 14 global list 15 list = str.split(' ') 16 list = [int(list[i]) for i in range(len(list))] # 将输入字符强转为整型 17 18 def show(): 19 # for i in range(len(list)): 20 # print(list[i], end=' ') 21 # print() 22 start,end = map(int, raw_input().split()) # 输入两个整数 23 print list[start:end] 24 25 def main(): 26 build() 27 show() 28 os.system('pause') 29 30 if __name__ == '__main__': 31 main()
思路:
我这里应该有点问题,不需要将输入的字符强转为整型,不过输入两个整数还是要进行转换
运行结果:
第三题
1 #!/usr/bin/python 2 # -*- coding: utf-8 -*- 3 4 import sys 5 import os 6 7 version_error_info = '请使用Python2'.decode('utf-8').encode('gbk') 8 9 if sys.version_info >= (3, 0): 10 raise RuntimeError(version_error_info) 11 12 dic = {'Name':12, 'age':20, 'sex':'boy'} 13 14 def run(): 15 while True: 16 key = raw_input() 17 # Python3中没有has_key()方法,被__contains__()替代 18 # if dic.has_key(key): 19 if key in dic: 20 print dic[key] 21 else: 22 print '您输入的键不存在'.decode('utf-8').encode('gbk') 23 break 24 25 def main(): 26 run() 27 os.system('pause') 28 29 if __name__ == '__main__': 30 main()
运行结果:
第四题
1 #!/usr/bin/python 2 # -*- coding: utf-8 -*- 3 4 import sys 5 import os 6 7 version_error_info = '请使用Python2'.decode('utf-8').encode('gbk') 8 9 if sys.version_info >= (3, 0): 10 raise RuntimeError(version_error_info) 11 12 def build(): 13 global list_key # 列表,元素为字典中的键 14 global list_value # 列表,元素为字典中的键值 15 global dic # 两个列表合并后的字典 16 global n # 长度较小的列表的长度 17 str = raw_input() 18 list_key = str.split(' ') 19 str = raw_input() 20 list_value = str.split(' ') 21 dic = {} # 字典声明 22 n = len(list_key) if len(list_key)<len(list_value) else len(list_value) 23 for i in range(n): 24 dic[list_key[i]]=list_value[i] 25 26 def show(): 27 # for i in range(n): 28 # print list_key[i],':',list_value[i] 29 print dic 30 31 def main(): 32 build() 33 show() 34 os.system('pause') 35 36 if __name__ == '__main__': 37 main()
运行结果:(此处输入对应第三题中的字典)
总结:
1、生成随机数的方法
导入random模块,调用该模块中的各种函数
2、使程序在运行结束时暂停的方法
导入os模块,调用system(“pause”)函数
3、python2中调用print函数输出含中文的字符串结果为ascii或乱码的解决
(在不同环境下情况不同,此处解决方案对应本人笔记本电脑中的环境)
在字符串后面加上“.decode('utf-8').encode('gbk')”(将ascii码转为gbk中文编码)
4、输入两个整数的方法
a, b = map(int, raw_input().split())
原文链接:https://www.cnblogs.com/cmxcxd1314/p/10626891.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python爬虫学习之用Python抢火车票的简单小程序 2019-08-13
- 用python写一个简单的文件上传 2019-07-24
- concurrent.futures模块简单介绍(线程池,进程池) 2019-07-24
- Python习题001 2019-07-24
- ORM 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash