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)

第一题

 #!/usr/bin/python
# -*- coding: utf-8 -*- import random
import sys
import os version_error_info = '请使用Python2'.decode('utf-8').encode('gbk')
if sys.version_info >= (3, 0):
raise RuntimeError(version_error_info) n = 10240
max_int = 511
list = [] # 保存生成的整数
dic = dict.fromkeys(range(max_int+1),0) # key为元素,value为出现次数 def build():
for i in range(n):
key = random.randint(0,max_int)
list.append(key)
dic[key] = dic[key]+1 def show():
# for i in list:
# print(list[i])
for key in dic:
print key,':',dic[key] def main():
build()
show()
os.system('pause') if __name__ == '__main__':
main()

思路:

  导入random模块,调用random.randint()方法来生成随机数

  用一个字典来保存每个元素出现的次数,其中key为每种元素(即[0,512)),value为每种元素个数,当然也看可以不用字典来做,直接调用python中列表的count函数如list.count(0)即可返回数字0在list中的出现次数

运行结果:

第二题

 #!/usr/bin/python
#-*- coding:utf-8 -*- import sys
import os version_error_info = '请使用Python2'.decode('utf-8').encode('gbk') if sys.version_info >= (3, 0):
raise RuntimeError(version_error_info) def build():
str = raw_input()
global list
list = str.split(' ')
list = [int(list[i]) for i in range(len(list))] # 将输入字符强转为整型 def show():
# for i in range(len(list)):
# print(list[i], end=' ')
# print()
start,end = map(int, raw_input().split()) # 输入两个整数
print list[start:end] def main():
build()
show()
os.system('pause') if __name__ == '__main__':
main()

思路:

  我这里应该有点问题,不需要将输入的字符强转为整型,不过输入两个整数还是要进行转换

运行结果:

第三题

 #!/usr/bin/python
# -*- coding: utf-8 -*- import sys
import os version_error_info = '请使用Python2'.decode('utf-8').encode('gbk') if sys.version_info >= (3, 0):
raise RuntimeError(version_error_info) dic = {'Name':12, 'age':20, 'sex':'boy'} def run():
while True:
key = raw_input()
# Python3中没有has_key()方法,被__contains__()替代
# if dic.has_key(key):
if key in dic:
print dic[key]
else:
print '您输入的键不存在'.decode('utf-8').encode('gbk')
break def main():
run()
os.system('pause') if __name__ == '__main__':
main()

运行结果:

第四题

 #!/usr/bin/python
# -*- coding: utf-8 -*- import sys
import os version_error_info = '请使用Python2'.decode('utf-8').encode('gbk') if sys.version_info >= (3, 0):
raise RuntimeError(version_error_info) def build():
global list_key # 列表,元素为字典中的键
global list_value # 列表,元素为字典中的键值
global dic # 两个列表合并后的字典
global n # 长度较小的列表的长度
str = raw_input()
list_key = str.split(' ')
str = raw_input()
list_value = str.split(' ')
dic = {} # 字典声明
n = len(list_key) if len(list_key)<len(list_value) else len(list_value)
for i in range(n):
dic[list_key[i]]=list_value[i] def show():
# for i in range(n):
# print list_key[i],':',list_value[i]
print dic def main():
build()
show()
os.system('pause') if __name__ == '__main__':
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())

作业 -- 几道简单的Python题的更多相关文章

  1. python几道简单的算法题

    最近看了python的语法,但是总感觉不知道怎么使用它,还是先来敲敲一些简单的程序吧. 1.题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位.十 ...

  2. ZOJ1913 Euclid's Game (第一道简单的博弈题)

    题目描述: Euclid's Game Time Limit: 2 Seconds      Memory Limit: 65536 KB Two players, Stan and Ollie, p ...

  3. 简单的算法题, Find Minimum in Rotated Sorted Array 的Python实现。

    简单的算法题, Find Minimum in Rotated Sorted Array 的Python实现. 题目: Suppose a sorted array is rotated at som ...

  4. 『Python题库 - 填空题』151道Python笔试填空题

    『Python题库 - 填空题』Python笔试填空题 part 1. Python语言概述和Python开发环境配置 part 2. Python语言基本语法元素(变量,基本数据类型, 基础运算) ...

  5. 『Python题库 - 简答题』 Python中的基本概念 (121道)

    ## 『Python题库 - 简答题』 Python中的基本概念 1. Python和Java.PHP.C.C#.C++等其他语言的对比? 2. 简述解释型和编译型编程语言? 3. 代码中要修改不可变 ...

  6. 作业1开发一个简单的python计算器

    开发一个简单的python计算器 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568 ...

  7. 老男孩python作业5-开发一个简单的python计算器

    开发一个简单的python计算器 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568 ...

  8. <每日一题>题目16:简单的python练习题(1-10)

    #1.python程序中__name__的作用是什么? __name__这个系统变量用来表示程序的运行方式. 如果程序在当前膜快运行,__name__的名称就是__main__, 如果不在(被调用), ...

  9. 一个简单的python爬虫,爬取知乎

    一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: # -*- cod ...

随机推荐

  1. 聚类-31省市居民家庭消费水平-city

    ===分三类的===== ======分四类的======== 直接写文件名,那么你的那个txt文件应该是和py文件在同一个路径的 ============code=========== import ...

  2. rm命令详解

    1.简介: rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件均保持不变. 注意:rm是一个 ...

  3. celery (二) task调用

    调用 TASK 基础 task 的调用方式有三种: 类似普通函数的调用方式, 通过 __calling__ 调用 ,类似 function() 通过 apply_async() 调用,能接受较多的参数 ...

  4. java课程之团队开发冲刺1.2

    一.总结昨天进度 1.三个任务都已经实现 2.使用时间:四个小时左右 二.遇到的困难 1.对Android原生的侧拉任务栏不了解,导致使用的时候出现了一部分问题 三.今天任务规划 1.对之前的程序重新 ...

  5. iptables实现端口转发实际案例

    拓扑 client : 跳板机 外网:192.168.10.194 内网:10.1.1.1 内网mysql: 10.1.1.2 [root@test194 network-scripts]# cat ...

  6. mysql访问视图提示:找不到视图

    原因: 1.不存在 2.视图区分大小写(有的不区分) 3.权限问题

  7. Excel VBA 连接各种数据库(一) VBA连接MySQL数据库

    本文参考[东围居士]的cnblog博文  Excel.VBA与MySQL交互  在自己机器上调试成功,把调试中遇到的问题一并写出了. 本文主要涉及: VBA中的MySQL环境配置 VBA连接MySQL ...

  8. gson 入门使用

    参考文章:https://www.cnblogs.com/majay/p/6336918.html Java 对象与 Json 之间的互相转换,用的比较多大是 Jackson 与 Gson 第一步:添 ...

  9. 字符编码:Unicode和UTF-8之间的关系

    Unicode和UTF-8之间的关系 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256 ...

  10. mysql与cmd,中文乱码

    图中第一次select, 通过navicat插入表中的, 下面的这次select结果,是直接在命令行中插入的,中文就显示了两个问号...搞不懂咋回事..我是win10家庭版系统.....希望各位道友谨 ...