python第一章练习题
本章总节
练习题
1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释
编译型:把源代码编译成机器语言的可执行文件,程序执行的时候执行可执行文件即可。
优点:程序执行不需要源代码,不依赖语言环境,执行速度快,因为执行的是机器码文件,计算机可以直接读懂
缺点:每次修改源代码都需要重新编译、跨平台性不好,不同的操作系统,调用底层的机器指令不同,需为不同平台生产不同的机器码文件
编译型语言:如C、C++,Delphi
解释型: 用户调用解释器,执行源代码文件,解释器把源代码文件一边解释成机器指令,一边交给cpu执行。
优点:天生跨平台,因为解释器已经针对不同的平台做好了处理,源代码不需要考虑平台差异性;随时修改,改完源代码后直接运行看效果。
缺点:运行效率低,所有代码均需要解释器边解释边执行,速度比编译型较慢;代码为明文
python、java、PHP、ruby等
2.执行 Python脚本的两种方式是什么
交互式解释器、命令行、集成开发环境
3. Pyhton单行注释和多行注释分别用什么?
单行注释 用 # ,多行注释用 ''' '''
4.布尔值分别有什么?
True 、False
5.声明变量注意事项有那些?
- 变量名只能是字母、数字或下划线的组合
- 变量名的第一个字符不能是数字
- 关键字不能作为变量名,如[and as assert break class continue.......]
- 官方推荐 下划线命名的格式: age_of_Jack , color_of_apple ,而非驼峰命名法
6.如何查看变量在内存中的地址?
>>> a = '12'
>>> id(a)
36274224
7.写代码
实现用户输入用户名和密码,当用户名为 seven且密码为123时,显示登陆成功,否则登
陆失败!
i.实现用户输入用户名和密码,当用户名为 seven且密码为123时,显示登陆成功,否则登
陆失败,失败时允许重复输入三次
ⅲ.实现用户输入用户名和密码,当用户名为 seven或alex且密码为123时,显示登陆成功,
否则登陆失败,失败时允许重复输入三次
8.写代码
a.使用 while循环实现输出2-3+4-5+6.+100的和
count = 2
total = 2
while count <= 100:
count += 1
if count % 2 != 0:
count = -1 * count
count = abs(count)
total = total + count
print(count)
b.使用 while循环实现输出1,2,3,4,5,7,8,9,11,12
# 使用 while循环实现输出1,2,3,4,5,7,8,9,11,12
num = 1
while num < 13:
print(num)
num += 1
c.使用 while循环输出100-50,从大到小,如100,99,98.,到50时再从0循环输出到
50,然后结束
''' 使用 while循环输出100-50,从大到小,如100,99,98.,到50时再从0循环输出到50,然后结束
'''
num2 = 100
tag = True
while tag:
print(num2)
num2 -= 1
if num2 == 49:
num2 = 0
while num2 <= 50:
print(num2)
num2 += 1
else:
tag = False
d.使用 while循环实现输出1-100内的所有奇数
# 使用 while循环实现输出1-100内的所有奇数
num3 = 1
while num3 <= 100:
if num3 % 2 != 0:
print('奇数:',num3)
num3 += 1
e.使用 while循环实现输出1-100内的所有偶数
#同上, if num3 % 2 == 0
9.现有如下两个变量,请简述n1和n2是什么关系?
n1=123456
n2=n1n1 = 123456
此时python解释器干了两件事,1、在内存中创建了一个 123456 ;2、在内存中创建了一个叫 n1的变量,并让n1指向了 123456
n2 = n1
1、在内存中创建了一个叫 n2 的变量,2、把变量 n2 指向 变量 n1 指向的数据(123456)
如果这时候 n1 = 1111
此时n2 依然为 123456
1.制作趣味模板程序(编程题)
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意显示
如:敬爱可爱的XXxX,最喜欢在Xx地方干xxx
# 需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意显示如:敬爱可爱的XXxX,最喜欢在Xx地方干xxx
name = input('name:').strip()
address = input('address:').strip()
hobby = input('hobby:').strip()
print("可爱的{_name},最喜欢在{_address}干{_hobby}".format(_name=name, _address=address, _hobby=hobby))
2.输入一年份,判断该年份是否是闰年并输出结果。(编程题)
注:凡符合下面两个条件之一的的年份是闰年。(1)能被4整除但不能被100整除。(2)
能被400整除
year = int(input('year:').strip())
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print('闰年')
else:
print('非闰年')
3.假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息
翻番?(编程题)
# 3.假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息翻番?(编程题)
percent = 0.0325
money = 10000
total_money = 10000
year = 1
while True:
if total_money >= money * 2:
break
total_money = total_money * (1 + percent)
year += 1
print(year)
作业
编写登陆接口
基础需求:
让用户输入用户名密码
认证成功后显示欢迎信息
输错三次后退出程序
升级需求:
。可以支持多个用户登录(提示,通过列表存多个账户信息)
用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示需把用户
锁定的状态存到文件里)
# *_*coding:utf-8 *_*
import chardet
import os
'''
lock.txt 文件中:
gd1,locked
gd2,0
gd3,0
(gd1表示用户名,0表示未锁定,locked表示锁定)
'''
users = [['gd1','123'],['gd2','123'],['gd3','123']] #用户列表
count = 0
lock_list = []
login_success = False
locked = False
username_is_exit = False
f = open('lock.txt', mode='r+')
for i in f:
lock_list.append(i.replace('\n',''))
print(lock_list)
while count < 3:
username = input("Username:").strip()
for i in lock_list:
if i.split(',')[0] == username:
username_is_exit = True
if i.split(',')[1] == 'locked':
locked = True
break
# else:
# count = i.split(',')[1]
if locked:
print('locked....')
break
pwd = input("Password:").strip()
for i in users:
if i[0] == username:
if i[1] == pwd:
login_success = True
count -= 1
break
else:
login_success = False
if locked and not login_success:
print('locked....')
break
if login_success:
print('登录成功')
break
else:
print('登录失败')
count += 1
if username_is_exit:
if count == 3:
print('locked.........')
# 把lock信息写入文件
f_new = open('lock.txt', 'r+')
new_line = f_new.read()
for i in lock_list:
if username in i:
new_str = i.replace('0', 'locked')
new_line = new_line.replace(i, new_str)
else:
new_line = new_line
f_new.write(new_line)
f_new.close()
f.close()
os.remove('lock.txt')
f_new2 = open('lock.txt', 'w')
f_new2.write(new_line)
f_new2.close()
break
else:
if count == 3:
print('locked.........')
break
f.close()
python第一章练习题的更多相关文章
- 简学Python第一章__进入PY的世界
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- python第一章计算机基础
第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 / 显示器 等组成,只有硬件但硬件之间无法进行交流和通信. 1.2 操作系统 操作系统用 ...
- Python第一章-基础知识
第一章:基础知识 1.1 安装python. 直接官网下载最新的python然后默认安装就可以了,然后开始菜单里找到pyhton *.*.* Shell.exe运行python的交互shell ...
- python第一章:简介与安装--小白博客
Python简介 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...
- 学习python 第一章
目录 第一章... 1 1:新建项目... 1 2:修改默认模板... 3 3:什么是变量... 3 4:重指向... 3 5:常量的表示... 4 6:格式化输出(三种方法)... 4 7:打印一个 ...
- python自动化开发-[第一章]-练习题
1.使用while循环输入 1 2 3 4 5 6 8 9 10 i = 1 while i < 11: if i == 7: i += 1 continue print (i) i += 1 ...
- 【原创】Python第一章
Python总是从第一行代码开始逐步执行,而C是从main函数开始执行. 在Python中,一切东西都是对象. 在Python中,没有C的花括号,不能任意排版,属于同一个语句块的语句需 ...
- python:第一章
完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行. 代码少的代价是运行速度慢,C程序运行1秒钟,Java程序可能需要2秒,而Python程序可能就需要1 ...
- Python第一章概述与环境安装
Python简介 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...
随机推荐
- 局部安装webpack时,使用webpack命令时提示webpack不是内部命令解决方法
现在js发展太快了,根本看不懂啊.于是乎想做做功课,于是乎看到了这些“奇怪”的写法,原来好多都是遵循了 ECMASCRIPT6,好吧,在本地看看怎么用的吧.写在本地的环境下, 发现各种报错,根本不能用 ...
- MATLAB字符串处理
字符串处理 MATLAB中字符串用单引号 如果字符串中存在单引号,要使用两个单引号. length()元素个数 (1)字符串的执行 格式:eval(s) s表示字符串 abs()和double() ...
- 牛客网Java刷题知识点之字符流缓冲区、BufferedWriter、BufferedReader、BufferedReader-readLine方法原理、自定义MyBufferedReader-read方法、自定义MyBufferedReader-readLine方法
不多说,直接上干货! 把提高效率的动作,封装成一个对象.即把缓冲区封装成一个对象. 就是在一个类里封装一个数组,能对流锁操作数据进行缓存. 什么是字符流缓冲区? 善于使用字符流缓冲区,减轻负担,提高下 ...
- 案例53-crm练习修改客户功能实现
1 CustomerAction 完整代码: package www.test.web.action; import java.io.File; import org.apache.commons.l ...
- xmlDemo4j解析
package lianxi; import java.util.Iterator;import java.util.List;import java.io.File;import java.io.F ...
- http头部如何对缓存的控制
文章自于我的个人博客 使用缓存的目的就是在于减少计算,IO,网络等时间,可以快速的返回,特别是流量比较大的时候,可以节约很多服务器带宽和压力. 一个请求从缓存的方面来说,有三个过程. 本地检查缓存是否 ...
- lrzsz的使用
可以方便的在本地PC机和远程服务器之间传输文件. 1.下载 直接在centos上执行命令yum -y install lrzsz 2.上传文件 rz // 上传文件,执行命令rz,会跳出文件选择窗口, ...
- Suggestion: use tools:overrideLibrary="android.support.v17.leanback" to force usage
Android Studio下修改方法: 在manifest中添加<uses-sdk tools:overrideLibrary="android.support.v17.leanba ...
- (原创)北美信用卡(Credit Card)个人使用心得与总结(个人理财版) [精华]
http://forum.chasedream.com/thread-766972-1-1.html 本人2010年 8月F1 二度来美,现在credit score 在724-728之间浮动,最高的 ...
- "ssllabs" website and "testssl" website
"https://www.ssllabs.com" could scan your server and give results about the weakness of yo ...