Python练习题(day1)

  1. 云栖社区>
  2. 博客>
  3. 正文

Python练习题(day1)

技术小胖子 2017-11-16 00:21:00 浏览656
展开阅读全文
一、基本运算符
链式赋值
            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('看不上')
4if嵌套,在表白的基础上继续:
#如果表白成功,那么变白成功  否则:打印表白失败
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('账户名或者密码有误!请重新尝试'
以上程序有个不好的地方是账户密码错误的输入次数是无限次!!!
3while循环练习题
1 使用while循环输出1 2 3 4 5 6     8 9 10 (参考之前的练习)
21-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)
51-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





本文转自西鼠 51CTO博客,原文链接:http://blog.51cto.com/10630401/2047034,如需转载请自行联系原作者


网友评论

登录后评论
0/500
评论
技术小胖子
+ 关注