python基础 Day01 练习题
1 字符串格式化
- #!/urs/bin/env python
- name = input("Name: ")
- age = int(input("Age: "))
- job = input("Job: ")
- salary = input("Salary: ")
- info1 = """
- ----------- info1 of %s ---------
- name: %s
- age: %s
- job: %s
- Salary: %s
- """ % (name, name, age, job, salary)
- print(info1)
- info2 = """
- ----------- info2 of {_name} ----
- Name: {_name}
- Age: {_age}
- Job: {_job}
- Salary: {_salary}
- """.format(_name=name,
- _age=age,
- _job=job,
- _salary=salary)
- print(info2)
- info3 = """
- ------ info3 of {0} -------
- Name: {0}
- Age: {1}
- Job: {2}
- Salary: {3}
- """.format(name, age, job, salary)
- print(info3)
2 密码非明文显示
- #!/urs/bin/env python
- # -*- coding:utf-8 -*-
- import getpass
- username = input("username:")
- password = getpass.getpass("password:")
- print(username)
- print(password)
注在Pycharm中不可以,在命令行模式运行:python xxx.py可以
1. 用户输入帐号密码进行登陆
2. 用户信息保存在文件内
3. 用户密码输入错误三次后锁定用户


- #!/urs/bin/env python
- # -*- coding:utf-8 -*-
- lock_users = []
- f0 = open("lock_users.db", encoding="utf-8")
- for line in f0.readlines():
- line = line.strip()
- lock_users.append(line)
- f0.close()
- users_list = []
- f1 = open("users.db", "r", encoding="utf-8")
- for line in f1.readlines():
- line = line.strip().split()
- users_list.append(line[0])
- users_list.append(line[1])
- f1.close()
- times = 3
- for i in range(times):
- username = input("Enter your name:")
- password = input("Enter your password:")
- if username in lock_users:
- print("\tSorry, you're locked now. Please contact administrators.")
- break
- if username in users_list and password == users_list[users_list.index(username) + 1]:
- print("\tWelcome %s login !" % username)
- break
- else:
- print("\tusername or password is wrong.")
- if i == times-1:
- f2 = open("lock_users.db", "a+", encoding="utf-8")
- f2.write("\n")
- f2.write(username)
- f2.close()
- print("\t{}, you're locked!".format(username))
三级菜单:
1. 运行程序输出第一级菜单
2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单
3. 菜单数据保存在文件中
4. 让用户选择是否要退出
5. 有返回上一级菜单的功能
评分标准:
用多层嵌套while循环的方式完成作业2,85分
只用一层循环完成作业2,100分
- #!/urs/bin/env python
- # -*- coding:utf-8 -*-
- data ={
- '北京':{
- '海淀区':{
- '颐和园', '圆明园遗址公园', '旧土城遗址公园', '大钟寺'
- },
- '东城区':{
- '劳动人民文化宫', '老舍纪念馆', '柳荫公园', '青年湖公园'
- },
- },
- '浙江':{
- '杭州':{
- '西湖', '西溪湿地', '宋城', '钱塘江', '南宋御街',
- },
- '绍兴':{
- '柯岩风景区、大禹陵、东湖、鲁迅故里',
- },
- },
- '山东':{
- '济南':{
- '趵突泉 大明湖 千佛山 芙蓉街(小吃街)',
- },
- '青岛':{
- '栈桥,小鱼山,海底世界,第一海水浴场,八大关风景区, 花石楼',
- },
- },
- }
- flag = True
- while flag:
- for i in data:
- print(i)
- choose1 = input(">")
- if choose1 == "q":
- flag = False
- while flag:
- for j in data[choose1]:
- print("\t", j)
- choose2 = input(">>")
- if choose2 == 'b':
- break
- elif choose2 == 'q':
- flag = False
- while flag:
- for k in data[choose1][choose2]:
- print("\t\t",k)
- choose3 = input(">>>")
- if choose3 == 'b':
- break
- elif choose3 == 'q':
- flag = False
- #!/urs/bin/env python
- # -*- coding:utf-8 -*-
- menu = {
- '北京':{
- '海淀':{
- '五道口':{
- 'soho':{},
- '网易':{},
- 'google':{}
- },
- '中关村':{
- '爱奇艺':{},
- '汽车之家':{},
- 'youku':{},
- },
- '上地':{
- '百度':{},
- },
- },
- '昌平':{
- '沙河':{
- '老男孩':{},
- '北航':{},
- },
- '天通苑':{},
- '回龙观':{},
- },
- '朝阳':{},
- '东城':{},
- },
- '上海':{
- '闵行':{
- "人民广场":{
- '炸鸡店':{}
- }
- },
- '闸北':{
- '火车战':{
- '携程':{}
- }
- },
- '浦东':{},
- },
- '山东':{},
- }
- exit_flag = False
- current_layer = menu
- layers = [menu]
- while not exit_flag:
- for k in current_layer:
- print(k)
- choice = input(">>:").strip()
- if choice == "b":
- current_layer = layers[-1]
- #print("change to laster", current_layer)
- layers.pop()
- elif choice not in current_layer:continue
- else:
- layers.append(current_layer)
- current_layer = current_layer[choice]
最多可连续3次猜年龄
- #!/urs/bin/env python
- # -*- coding:utf-8 -*-
- """
- 最多可连续3次猜年龄
- """
- """
- _age = 56
- count = 3
- while count > 0:
- age = int(input("age = "))
- if age == _age:
- print("You're right.")
- break
- elif age > _age:
- print("think smaller ... ")
- else:
- print("think bigger ... ")
- count -= 1
- else:
- print("Sorry, there's not times for you.")
- """
- _age = 56
- for i in range(3):
- age = int(input("age = "))
- if age == _age:
- print("You're right.")
- break
- elif age > _age:
- print("think smaller ... ")
- else:
- print("think bigger ... ")
- else:
- print("Sorry, there's not times for you.")
可参看网址:
http://www.cnblogs.com/alex3714/articles/5717620.html
python基础 Day01 练习题的更多相关文章
- Python基础-day01
写在前面 先后接触过很多编程语言,最喜欢的就是C和Python,相比其他语言,C 是神器,优点太多了:个人而言,C 最重要的一点就是能够让你在敲代码的时候是以一个计算机科学家的角度去思考,而不是仅仅停 ...
- python 基础篇练习题
一.练习题 # 1.统计元组中所有数据属于字符串的个数,提示:isinstance() # 数据:t1 = (1, 2, '3', '4', 5, '6') # 结果:3 # 2.将以下数据存储为字典 ...
- python基础阶段练习题 拾英札记(1)
python很灵活,学起来有人机交互的快乐感,贵在坚持. 做题对自学python很有帮助,融汇贯通-查漏补缺-巩固提高. 写了一些注释,希望能对您有所帮助. #1.输入一个3位数,计算个位.百位.十位 ...
- Python基础Day01
Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...
- python基础知识练习题(二)
1. 有两个列表 l1 = [11, 22, 33] l2 = [22, 33, 44] a.获取内容相同的元素列表 li = []l1 = [11, 22, 33] l2 = [22, 33, 44 ...
- python基础知识练习题(一)
1.执行Python脚本的两种方式:WIN+R,cmd,命令行窗口输入:python 进入python模式输入命令行直接执行命令:编写以.py结尾的文件,写入命令行,然后运行python.exe打开 ...
- python基础之练习题(一)
1.执行 Python 脚本的两种方式 python test.py chmod +x test.py && ./test.py 2.简述位.字节的关系 二进制位(bit)是计算机存储 ...
- python基础知识练习题一
1.执行Python脚本的两种方式 1.在计算机终端(运行cmd),输入安装的Python路径,然后输入Python脚本的路径,回车. 2.直接运行python 2.简述位.字节的关系. 1字节 = ...
- 8道Python基础面试练习题
1.26个字母大小写成对打印,例如:Aa,Bb...... for i in range(26): print(chr(65+i)+chr(97+i)) 2.一个list包含10个数字,然后生成一个新 ...
随机推荐
- http 登录Digest认证相关知识
Digest access authentication https://en.wikipedia.org/wiki/Digest_access_authentication Digest acces ...
- 【详解】ERP、APS与MES系统是什么?
ERP是什么?MES是什么?APS又是什么?无论他们有什么功能,对企业有什么意义,不过都是计算机在读写一些数据而已.实际上这一切的本质不过是数据在硬盘和内存中快速的读和写. ERP是--,APS是-- ...
- Java网络编程之流——流、过滤器、阅读器和书写器
Java的I/O建立于流(Stream)之上.输入流读取数据:输出流写入数据.所有的输出流都有相同的基本方法来写入数据,所有输入流也使用相同的基本方法来读取数据.在创建流之后,你通常可以忽略在读写时的 ...
- 初识Redis(1)
Redis 是一款依据BSD开源协议发行的高性能Key-Value存储系统(cache and store). 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希( ...
- linux-----------linux查看并发数
1.查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a ...
- C#字符串的方法
static void Main(string[] args) { StrMethod(); } public static void StrMethod() { string myString = ...
- 07_编写天气预报和手机归属地的WebService
<s:element ref="s:schema" /> <s:any /> <s:any minOccurs="2" maxOc ...
- [liusy.api-SMJ]-创建工程范例 MAVEN archetype 学习阶段(一)
由于这个架构需要好多不同能力的工程,为了创建方便减少冗余,创建工程范例尤为重要 学习阶段: 参考资料 http://maven.apache.org/archetype/maven-archetype ...
- EF Core 1.0 和 SQLServer 2008 分页的问题
EF Core 1.0 在sqlserver2008分页的时候需要指定用数字分页. EF Core1.0 生成的分页语句中使用了 Featch Next.这个语句只有在SqlServer2012的时候 ...
- 通过cygwin安装openSSH
openSSH的安装是学习hadoop必不可少的一步,如果ssh装不好,hadoop的安装会进行不下去.本人初学hadoop时发现以前安装ssh走了一些弯路,现在又有了一些认识,所以重写了这篇日志,供 ...