python—基础练习1

 

 

1. 简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型python

答:首先,编译型与解释型语言都属于高级语言。高级语言须要转换成二进制,而后CPU运行,因此二者是根据转换二进制方式的不一样而进行区分的。c++

            编译型(翻译类):把我能读懂的代码编译(翻译)成机器能读懂的代码,而后让CPU运行。因此依赖编译器,写错的话须要从新编译运行,开发效率低。例如c   c++   Delphi  Go等等编程

            解释型:经过解释器把源代码边解释成机器指令,边让CPU运行。因此要有解释器,系统要支持python(windows须要安装,Linus,mac默认自带),写错了直接改源码再翻译,不须要先翻译成二进制,开发效率高。例如python  Java  PHP  windows

•执行效率:   编译型:翻译成了计算机直接能理解的语言后直接运行,因此执行效率高。编辑器

                解释型:全部代码须要边执行边运行,不能生成二进制代码,运行效率低。spa

 

•跨平台性(Windows,Linus,): 编译型:经过操做系统运行个人源代码,就是说在不一样的操做系统上调用不一样的指令。跨平台性差操作系统

                                                解释型:最大的特色就是跨平台,解释器作好了对不一样平台的交互处理,一份源代码,全部平台可直接执行。命令行

2. 执行 Python 脚本(script)的两种方式是什么翻译

答:方法一:(内存操做)在windows命令行窗口键入python(事先你须安装好python,并配置好path),运行效果:code

                    →                       

方法二:(硬盘操做)安装好Python后,它会自带一个IDLE编辑器,或者下载一个编辑器pycharm......

 

3. Pyhton 单行注释和多行注释分别用什么

答:1、python单行注释符号(#):#号右边的内容在执行的时候是不会被输出的

        2、批量、多行注释符号:多行注释是用三引号'''   '''包含,例如:

 

 

4.布尔值(bool)分别有什么

答:True 和Flase

 

5.声明变量注意事项有那些

答:声明变量:先赋值

 

 

 下划线为官方命名方式。

 

 6.如何查看变量在内存中的地址

答:id(变量名)  #查看内存地址      ,   print(id(变量名))

                                      

 

 

7.  写代码

i. 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登录成功,不然登录失败!

user_name=input('user_name:') passwd=int(input('passwd:')) if user_name=='seven' and passwd==123: print('登录成功') else: print('登录失败')

i.  实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登录成功,不然登录失败,失败时容许重复输入三次

count=0 while count<3: user_name = input('user_name:') passwd = int(input('passwd:')) if user_name=='seven' and passwd==123: print('登录成功') break
    else: print('登录失败') count+=1

iii.  实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登录成功,不然登录失败,失败时容许重复输入三次

count=0 while count<3: user_name = input('user_name:') passwd = int(input('passwd:')) if user_name=='seven' or user_name=='alex' and passwd==123: print('登录成功') break
    else: print('登录失败') count+=1

 

8.写代码

 a. 使用while循环实现输出2-3+4-5+6...+100 的和

i=2 count1=0 count2=0 while i<=100: if i%2==0: count1+=i else: count2+=-i i+=1 count=count1+count2 print(count)

 

i=2 h=0 while i <= 100: if i%2 == 0: h+=i elif i%2 == 1: h-=i i+=1
print(h)

 

print(sum(map(lambda x: x * -1 if x % 2 == 0 else x, [x for x in range(100) if x != 88])))

  

b. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12

i=1
while i<=12: if i != 6 and i != 10: print(i) i+=1

 c. 使用while 循环输出100-50,从大到小,如100,99,98...,到50时再从0循环输出到50,而后结束

count=100
while count>=50: print(count) count-=1
    if count==50: count=1
        while count<=50: print(count) count+=1
        break

 

 d. 使用 while 循环实现输出 1-100 内的全部奇数

i=1
while i<=100: print(i) i+=2
i=1
while i<=100: if i%2==1: print(i) i+=2

 

 e. 使用 while 循环实现输出 1-100 内的全部偶数

i=2
while i<=100: print(i) i+=2

 

i=1
while i<=100: if i%2==0: print(i) i+=1

f.分别用while和for range 循环实现输出1-2+3...-99的结果

i=1 h=0 while i<=99: if i%2==0: h+=i elif i%2==1: h-=i i+=1
print(h)
h = 0 for i in range(100): if i % 2 == 0: h += i if i % 2 == 1: h -= i print(h)

g.求1-100全部偶数的和

 

sum=0 for x in range(1,101): if x % 2==0: print(x) sum=sum+x print("累加和是:",sum)

 

9.现有以下两个变量,请简述  n1  和  n2  是什么关系?

n1 = 123456
n2 = n1

答:使用同一内存地址,只是变量名不一样

 

10.制做趣味模板程序(编程题)
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意显示
如:敬爱可爱的xxx,最喜欢在xxx地方干xxx

 

name=input('Name:') address=input('Address:') hobby=input('Hobby:') print('敬爱可爱的%s,最喜欢在%s地方干%s' % (name,address,hobby))

 

11. 输入一年份,判断该年份是不是闰年并输出结果。(编程题)
注:凡符合下面两个条件之一的年份是闰年。 (1) 能被4整除但不能被100整除。 (2) 能被400整除。

year=int(input('Year:')) if year%4==0 or year%400==0 and year%100!=0: print('你猜的是闰年') else: print('你猜错了')

 

12.假设一年期按期利率为3.25%,计算一下须要过多少年,一万元的一年按期存款连本带息能翻番?(编程题)

持有=10000年=0
利率=0.0325
while 持有<20000: 年+=1 持有=持有*(1+利率) print('%s年之后,存款会翻番'%year)

 

13.编写登录接口

       基础需求:

  • 让用户输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后退出程序

     升级需求:

  • 能够支持多个用户登陆 (提示,经过列表存多个帐户信息)
  • 用户3次认证失败后,退出程序,再次启动程序尝试登陆时,仍是锁定状态(提示:需把用户锁定的状态存到文件里)

 

一. 基础需求

user_name='alex' passwd=123 count=0 while count<3: n1=input('请输入你的用户名:') n2= int(input('请输入你的密码:')) if n1==user_name and n2==passwd: print('Welocome '.center(20,'-')) break
    else: if n1==user_name and n2!=passwd: print('你的密码错误') elif n1!=user_name and n2==passwd: print('你的用户名错误') else: print('你的用户名和密码都错误') count+=1
        if count==1: print('您还有两次机会') elif count==2: print('您还有一次机会') elif count==3: print('你的认证登录失败'.center(20,'-'))

 

二. 升级需求

 

user_info = { 'alex': '123', 'shanshan': '456', 'longting': '789' } f = open('D:\lock_user\sa.txt', 'r', encoding='utf-8') lock_users = f.readlines() exit_flag = False count = 0 def put(): global exit_flag # 声明全局变量
    exit_flag = True while count < 3: user_name = input('输入你的用户名:') password = input('输入你的密码:') if user_name in user_info and user_name not in lock_users: if password == user_info[user_name]: print('登录成功'.center(30, '*')) put() break
            else: print('你的密码错误'.center(30, '*')) count += 1
                if count < 3: print('你还有%s次登录机会' % (3-count)) elif count == 3: print('你的认证登录失败,帐号已被锁定'.center(20, '*')) f = open('D:\lock_user\sa.txt', 'w', encoding='utf-8') f.write(user_name) f.close() put() break
    elif user_name in lock_users: print('对不起,你的用户已被锁定!') put() break
    else: print('用户名不存在!') put()

 

 14.猜年龄

练习1:猜年龄游戏 

要求:

  1. 容许用户最多尝试3次,3次都没猜对的话,就直接退出,若是猜对了,打印恭喜信息并退出

练习2:猜年龄游戏升级版 

要求:

  1. 容许用户最多尝试3次
  2. 每尝试3次后,若是还没猜对,就问用户是否还想继续玩,若是回答Y或y, 就继续让其猜3次,以此往复,若是回答N或n,就退出程序
  3. 如何猜对了,就直接退出

 

count=0 age=22
while count<3: guess=int(input("你猜的年龄是:")) if guess==age: print('--------恭喜你猜对了----------') break
   elif guess>age: print('猜大了') else : print('猜小了') count+=1
count=0 age=22
while count<3: guess=int(input("你猜的年龄是:")) if guess==age: print('--------恭喜你猜对了----------') break
   elif guess>age: print('猜大了') else : print('猜小了') count+=1
   if count==3: print('-------游戏结束,你是否还想玩儿-------') print('输入Y/y,继续玩儿游戏, 输入N/n则退出') choice=input('请选择:') if choice=='Y' or choice=='y': count=0 elif choice=='N' or choice=='n': print('你将退出游戏')
相关文章
相关标签/搜索