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个数字,然后生成一个新 ...
随机推荐
- ios - runtime运行时应用---交换方法
runtime运行时用法之一 --- 交换类的方法,此处简单写了把系统的UIView的setBackgroundColor的方法换成了自定义的pb_setBackgroundColor 首先创建UIV ...
- Linux(ubanto):可以ping通IP,但不能ping通域名
打开/etc/resolv.conf文件 vi /etc/resolv.conf 插入一下两行保存即可 nameserver 8.8.8.8 nameserver 8.8.4.4
- JAVA NIO系列(二) Channel解读
Channel就是一个通道,用于传输数据,两端分别是缓冲区和实体(文件或者套接字),通道的特点(也是NIO的特点):通道中的数据总是要先读到一个缓冲区,或者总是要从一个缓冲区中读入. Channel的 ...
- java代码打包成jar以及转换为exe
教你如何把java代码打包成jar文件以及转换为exe可执行文件 1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有 ...
- javascript中apply、call和bind的区别
在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢.在说区别之前还是先总结一下三者的相似之处:1.都是用来改变函数的this对象的指向的.2.第一个参数都是this要指向的对 ...
- io与nio的区别
传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大.使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数 ...
- 摘抄转载前辈们的Java集合类总结
本文摘自 Blue Sky:http://www.cnblogs.com/hubcarl JAVA 集合类介绍和使用 类关系示意图Iterable(接口) │ └--Collection (接口) ├ ...
- NSAttributedString字符串属性类
//定义一个可变字符串属性对象aStr NSMutableAttributedString *aStr = [[NSMutableAttributedString alloc]initWithStri ...
- 纯css的防止图片撑破页面的代码(图片自动缩放)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 实测:Windows 8.1 (Windows Blue) 第三方桌面应用无法支持Retina屏,效果与Windows8.0似无差别。
首先我是在VMWARE下装的Windows Blue,是否改用BootCamp直接装就没问题我不知道,理论上应该无差别. 谣言里那个Windows Blue里的缩放功能可以完美支持Retina,但实际 ...