继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Python练习题

不要慕码人我要切诺基
关注TA
已关注
手记 281
粉丝 37
获赞 120

一、基本运算符

链式赋值

            a=b=c=2

            print(id(a),id(b),id(c))

交叉赋值

            m=1

            n=2

            temp=m

            m=n

            n=temp

            print(m,n)

            m,n=n,m

            print(m,n)

解压

            l=[1,2,3,4]

            a,b,c,d=l

            print(a)

            print(b)

            print(c)

            print(d)

            a=l[0]

            _=l[1]

            _=l[2]

            d=l[3]

            a,_,_,d=l

            print(a,d)

            a,*_,d=l

            print(a)

            print(d)

二、判断语句if else

1、如果:女人的年龄>30岁,那么:叫阿姨

age_of_girl=31

if age_of_girl > 30:

  print('阿姨好')

2、如果:女人的年龄>30岁,那么:叫阿姨,否则:叫×××

age_of_girl=18

if age_of_girl > 30:

  print('阿姨好')

else:

  print('×××好')

3、如果:女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:看不上

age_of_girl=18

height=171

weight=99

is_pretty=True

if age_of_girl >= 18 and age_of_girl < 22 and height > 170 and weight < 100 and is_pretty == True:

    print('表白...')else:

    print('看不上')

4、if嵌套,在表白的基础上继续:

#如果表白成功,那么变白成功  否则:打印表白失败

age_of_girl=18

height=171

weight=99

is_pretty=True

seccess=True

if age_of_girl >= 18 and age_of_girl < 22 and height >170 and weight < 100 and is_pretty == True:

    print ('去表白')

    if seccess:

        print ('表白成功')

    else:

        print ('表白失败')

else:

    print ('看不上')

5、如果:成绩>=90,那么:优秀

   如果成绩>=80且<90,那么:良好

   如果成绩>=70且<80,那么:普通

   其他情况:很差

   grade = input('pleade input your grade >>: ')

    if grade >= 90:

        print('优秀')

    elif grade >= 80:

        print('良好')

    elif grade >= 70:

        print ('普通')

    else:

        print ('很差')

6、验证登录

name = raw_input('please input your name:')

password = raw_input('please input your password:')

if name == 'test':

 if password == 'test':

     print('login success!')

 else:

     print('password is error!')

else:

    print('name is error!')

PS:此处之前用的是input来做交互式输入,结果一直报错,请注意input和raw_input这两者的区别!!!另外如果变量是与字符串对比一定要记得给字符传加上引号!!!

7、根据用户输入内容打印其权限

'''

root --> 超级管理员

test  --> 普通管理员

test1,test2 --> 业务主管

其他 --> 普通用户

'''

name = raw_input('please input your name:')

if name == 'root':

        print('超级管理员')

elif name == 'test':

        print('普通管理员')

elif name == 'test1' or name == 'test2':

        print('业务主管')

else:

        print('普通用户')

8、根据星期几决定做什么事情

'''

如果:今天是Monday,那么:上班

如果:今天是Tuesday,那么:上班

如果:今天是Wednesday,那么:上班

如果:今天是Thursday,那么:上班

如果:今天是Friday,那么:上班

如果:今天是Monday,那么:出去浪

如果:今天是Sunday,那么:出去浪

'''

today = raw_input('please input today is : ')

if today == 'Monday' or today == 'Tuesday' or today == 'Wednesday' or today == 'Thursday' or today == 'Friday':

        print('上班')

elif today == 'Saturday' or today == 'Sunday':

        print ('出去浪')

else:

        print('请输入正确的星期几!!')

三、while循环

    1、打印数字

        1)打印0-10

        number = 0

        while number <= 10:

                print (number)

                number += 1

        2)打印0-10之间的偶数

        number = 0

        while number <= 10:

                if number%2 == 0:

                        print (number)

                number += 1

        3)打印0-10之间的奇数

        number = 0

        while number <= 10:

                if number%2 != 0:

                        print (number)

                number += 1

2、循环嵌套与tag

练习,要求如下:

        1) 循环验证用户输入的用户名与密码

        2 )认证通过后,运行用户重复执行命令

        3 )当用户输入命令为quit时,则退出整个程序

第一种办法

name = 'test'

passport = 'test'

while True:

        input_name = raw_input('Please input your name: ')

        input_password = raw_input('Please input your password: ')

        if input_name == name and input_password == passport:

                print('login success!!!')

                while True:

                        input_cmd = raw_input('input your cmd: ')

                        if not input_cmd:

                                continue

                        if input_cmd != 'quit':

                                print('run <%s>' %input_cmd)

                                continue

                        else:

                                break

        else:

                print('your name or passport is error: ')

                continue

        break

第二种办法

name = 'test'

passport = 'test'

tag = True

while tag:

        input_name = raw_input('请输入你的名字:')

        input_passport = raw_input('请输入你的密码:')

        if input_name == name and input_passport == passport:

                print('恭喜你 登录成功!!!')

                while tag:

                        cmd = raw_input('请输入你的命令:')

                        if not cmd:

                                continue

                        if cmd == 'quit':

                                tag = False

                        else:

                                print('运行 <%s>' %cmd)

                                continue

        else:

                print('账户名或者密码有误!请重新尝试'

以上程序有个不好的地方是账户密码错误的输入次数是无限次!!!

3、while循环练习题

1 使用while循环输出1 2 3 4 5 6     8 9 10 (参考之前的练习)

2 求1-100的所有数的和

        number = 1

        sum = 0

        while number <= 100:

                sum += number

                number += 1

        print(sum)

3 输出 1-100 内的所有奇数

    number = 1

    sum = 0

    while number <= 100:

            if number%2 == 1:

                    sum += number

            number += 1

    print(sum)

4 输出 1-100 内的所有偶数

    number = 1

    sum = 0

    while number <= 100:

            if number%2 == 0:

                    sum += number

            number += 1

    print(sum)

5 求1-2+3-4+5 ... 99的所有数的和

    number = 1

    sum = 0

    while number < 100:

            if number%2 == 1:

                    sum += number

            else:

                    sum -= number

            number += 1

    print(sum)

6 用户登陆(三次机会重试)

    number = 0

    name = 'test'

    passport = 'test'

    while number < 3:

            input_name =raw_input('请输入你的账号:')

            input_passport =raw_input('请输入你的密码:')

            if input_name == name and input_passport == passport:

                    print('恭喜你!登录成功')

                    break

            else:

                    print('账号或者密码有误!')

                    number += 1

7 猜年龄游戏

允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出

    count = 0

    age = 18

    while count < 3:

            input_age = input('请输入你猜的年龄:')

            if input_age == age:

                    print('哇塞!猜对啦。。。')

                    break

            print('猜错了,再试试')

            count += 1

8 猜年龄游戏升级版

    允许用户最多尝试3次

    每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序

    如果猜对了,就直接退出

        count = 0

        age = 18

        while True:

                if count == 3:

                        Ans = raw_input('还想继续续玩吗?输入Y或者N:')

                        if Ans == 'Y' or Ans == 'y':

                                count = 0

                        else:

                                break

                input_age = input('请输入你猜的年龄:')

                if input_age == age:

                        print('哇塞!猜对啦。。。')

                        break

                print('猜错了,再试试')

                count += 1

四、 练习题

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

        编译型(C、C++、Pascal/Object Pascal(Delphi)):相当于百度翻译,对程序翻译一次,拿着该翻译的结果去执行。

                        优点:执行效率高

                        缺点:开发效率低

        解释型(Python、JavaScript、Perl、Ruby):相当于同声传译,可以一边解释一边执行。

                        优点:开发效率高

                        缺点:执行效率低

2、执行 Python 脚本的两种方式是什么

        使用python解释器(python test.py)或在系统下赋值成777,执行(./test.py)

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

        单行注释用#,多行注释可以用三对双引号""" """

4、布尔值分别有什么?

        True False

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

        1)变量名只能是 字母、数字或下划线的任意组合

        2)变量名的第一个字符不能是数字

        3)关键字不能声明为变量名

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

        id(变量)

7、写代码

        1 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!

                name = raw_input('please input your name:')

                password = raw_input('please input your password:')

                if name == 'seven' and password == '123':

                        print('login success!')

                else:

                        print('login faile!')

        2 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

                count = 0

                while count < 3:

                        name = raw_input('please input your name:')

                        password = raw_input('please input your password:')

                        if name == 'seven' and password == '123':

                                print('login success!')

                                break

                        else:

                                count += 1    

        3 实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

                count = 0

                while count < 3:

                        name = raw_input('please input your name:')

                        password = raw_input('please input your password:')

                        if ((name == 'seven' or name == 'alex') and password == '123'):

                                print('login success!')

                                break

                        else:

                                count += 1

8、写代码

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

                number = 2

                sum = 0

                while number < 100:

                        if number%2 == 1:

                                sum += number

                        else:

                                sum -= number

                        number += 1

                print(sum)

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

                number = 0

                while number < 12:

                        number += 1

                        if number == 6 or number == 10:

                                continue

                        else:

                                print(number)

        c.使用 while 循环实现输出 1-100 内的所有奇数

                number = 1

                sum = 0

                while number <= 100:

                        if number%2 == 1:

                                sum += number

                        number += 1

                print(sum)

        d. 使用 while 循环实现输出 1-100 内的所有偶数

                number = 1

                sum = 0

                while number <= 100:

                        if number%2 == 0:

                                sum += number

                        number += 1

                print(sum)

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

            n1 = 123456

            n2 = n1

            n1和n2指向同一块内存地址,数值是123456

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP