zoukankan      html  css  js  c++  java
  • python—基础练习1

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

    答:首先,编译型与解释型语言都属于高级语言。高级语言需要转换成二进制,然后CPU运行,所以两者是根据转换二进制方式的不同而进行区分的。

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

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

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

                    解释型:所有代码需要边执行边运行,不能生成二进制代码,运行效率低。

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

                                                    解释型:最大的特点就是跨平台,解释器做好了对不同平台的交互处理,一份源代码,所有平台可直接执行。

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

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

                        →                       

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

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

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

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

     

    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_usersa.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_usersa.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('你将退出游戏')

     

  • 相关阅读:
    2020~2021年第一学期《计算机科学概论》第一周学习总结
    蓝精灵小组第六周小组讨论学习总结
    2020-2021年第一学期 20202412姜和言 《网络空间安全》第六周学习总结
    蓝精灵小组第五周小组讨论学习总结
    2020-2021年第一学期 20202412姜和言 《网络空间安全》第五周学习总结
    2020-2021年第一学期 20202412姜和言 《网络空间安全》第四周学习总结
    蓝精灵小组第二周小组讨论学习总结
    2020-2021年第一学期 20202412姜和言 《网络空间安全》第三周学习总结
    蓝精灵小组第二周小组讨论学习总结
    2020-2021年第一学期 20202412姜和言 《网络空间安全》第二周学习总结
  • 原文地址:https://www.cnblogs.com/xiaobai-yemao/p/8508015.html
Copyright © 2011-2022 走看看