python入门(一)作业

 

一,流程控制之if...else

1. 如果:女人的年龄>30岁,那么:叫阿姨,否则:叫小妞

1 age_of_girl = 21
2 if age_of_girl >30:
3     print('阿姨')
4 else:
5     print('小妞')

2.如果:女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,如果表白成功,否则’给我滚‘,那么:表白,否则:叫阿姨

 1 age_of_girl=18
 2 height=171
 3 weight=99
 4 is_pretty=True
 5 seccess=True
 6 
 7 if age_of_girl>=18 and age_of_girl <=22 and  height >170 and weight < 100 and is_pretty==True:
 8     if seccess:
 9         print('表白成功')
10     else:
11         print('给我滚')
12 else:
13     print('阿姨好')

 3. 如果:成绩>=90,那么:优秀,如果成绩>=80且<90,那么:良好,如果成绩>=70且<80,那么:普通,其他情况:很差,并且到很差的时候退出

 1 while True:
 2     score = input('>>>:')
 3     score = int(score)
 4     if score >=90:
 5         print('优秀')
 6     elif score>=80 and score<90:
 7         print('良好')
 8     elif score>=70 and score<80:
 9         print('普通')
10     else:
11         print('很差')
12         break

 4.用户登录验证  

1 name=input('>>>:')
2 password=input('>>>')
3 if name=='agen' and password=='123':
4     print('登陆成功')
5 else:
6     print('登陆失败')

5.根据用户输入内容打印其权限

#(1)定义用户的权限 
 1 while True:
 2     agen='超级管理员'
 3     lisa='内容管理员'
 4     rupee='普通管理员'
 5     asshole='屌丝'
 6     name=input('>>>:')
 7     if name=='agen':
 8         print('超级管理员')
 9     elif name=='lisa':
10         print('内容管理员')
11     elif name=='rupee':
12         print('普通管理员')
13     elif name=='asshole':
14         print('屌丝')
15     else:
16         print('')
17         break

6.

# 如果:今天是Monday,那么:上班
# 如果:今天是Tuesday,那么:上班
# 如果:今天是Wednesday,那么:上班
# 如果:今天是Thursday,那么:上班
# 如果:今天是Friday,那么:上班
# 如果:今天是Saturday,那么:出去浪
# 如果:今天是Sunday,那么:出去浪
 1 today=input('>>: ')
 2 
 3 if today in ['Saturday','Sunday']:
 4     print('出去浪')
 5 elif today in ['Monday','Tuesday','Wednesday','Thursday','Friday']:
 6     print('上班')
 7 else:
 8     print('''必须输入其中一种:
 9     Monday
10     Tuesday
11     Wednesday
12     Thursday
13     Friday
14     Saturday
15     Sunday
16     ''')

二 流程控制之while循环

7.猜年龄,最多可以猜三次

 1 i=1
 2 while i<=3:
 3     age_of_oldboy = 48
 4 
 5     guess = int(input(">>:"))
 6 
 7     if guess > age_of_oldboy :
 8         print("猜的太大了,可以试3次,第%s次"%i)
 9 
10     elif guess < age_of_oldboy :
11         print("猜的太小了,可以试3次,第%s次"%i)
12     else:
13         print("恭喜你,猜对了...")
14     i+=1

8.循环验证用户输入的用户名与密码 2 认证通过后,运行用户重复执行命令 3 当用户输入命令为quit时,则退出整个程序(###)

 1 name='egon'
 2 password='123'
 3 
 4 while True:
 5     inp_name=input('用户名: ')
 6     inp_pwd=input('密码: ')
 7     if inp_name == name and inp_pwd == password:
 8         while True:
 9             cmd=input('>>: ')
10             if not cmd:continue
11             if cmd == 'quit':
12                 break
13             print('run <%s>' %cmd)
14     else:
15         print('用户名或密码错误')
16         continue
17     break

三 while 循环练习题

9.使用while循环输出1 2 3 4 5 6 8 9 10

1 i=1
2 while i<11:
3     if i==7:
4         pass
5     else:
6         print(i)
7     i+=1

10. 求1-100的所有数的和 

1 i=0
2 count=1
3 while count<=100:
4     i+=count
5     count+=1
6 print(i)

11.求1-2+3-4+5-6+7-8+9-10+11 ... 99的所有数的和(###)

 1 count=0
 2 sum=0
 3 while count <=100:    #第一轮,count=0      #第二轮,count=1             第三轮,count=2     第四轮....
 4     if count%2 ==0:    #第一轮,count%2=0   #第二轮,count%2==1,不满足    第三轮,满足
 5         sum=sum+count  #第一轮,左sum=0+0                               第三轮,左sum=-1+2
 6 
 7     elif count%2 ==1:                      #第二轮,count%2==1,满足
 8         sum=sum-count                      #第二轮,左sum=0-1
 9     count+=1
10 else:
11  print(sum)
View Code

 12.用户登录(3次重试)

 1 i=1
 2 while i<=3:
 3     name=input('>>>:')
 4     password=input('>>>:')
 5     if name=='egon' and password=='123':
 6         print('登陆成功')
 7         break
 8     else:
 9         print('登陆失败')
10         i+=1

13 :猜年龄游戏要求

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

 1 age=18
 2 count=0
 3 while count<3:
 4     age1=int(input('>>>:'))
 5     if age1==age:
 6         print('登陆成功')
 7         break
 8     else:
 9         print('登陆失败')
10         count+=1

14 :猜年龄游戏升级版 (###)

1 要求:
2     允许用户最多尝试3次
3     每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
4     如何猜对了,就直接退出 
 1 方法一:
 2 age=18
 3 count=0
 4 while True:
 5     if count==3:
 6         age2 = (input('继续y/n>>>:'))
 7         if age2 == 'y' or age2 == 'Y':
 8             count = 0
 9         else:
10              break
11     age1=int(input('>>>:'))
12     if age1==age:
13         print('登陆成功')
14         break
15     count += 1
16 方法二:
17 count=1
18 while True:
19     if count ==3 :
20         age=int(input('age:'))
21         if age > 18:
22             print('猜大了,可以重试3次,第 %s 次' %count)
23         elif age < 18:
24             print('猜小了,可以重试3次,第 %s 次' %count)
25         else:
26             print('猜中了,successful')
27             break
28         count += 1
29     else:
30         judge = input('是否继续(Y/N):')
31         if judge in ['Y','y']:
32             count = 1
33         else:
34             break

四 作业练习题

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

1 答 :编译型相对于解释性而言,编译型的开发效率低,执行效率高。
2     编译型:C、C++
3     解释型:java、python、php

16.执行 Python 脚本的两种方式是什么?

1 答:交互式方式和文件方式

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

1 答:单行注释“#”,多行注释“ ''' ''' ”

18.布尔值分别有什么?

1  答:True、Fasle

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

1  答:变量名只能是数字,字母,下划线的任意结合
2       不能以数字开头,关键字不能做变量名

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

1  答:例name='123',print(id'123')

21.写代码 

1  实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
1 user=input('user:')
2 password=input('password:')
3 
4 if user=='seven' and password=='123':
5     print('登陆成功')
6 else:
7     print('登陆失败')

 

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

 

 1    i=0
 2     while i<3:
 3         user = input('user:')
 4         password = input('password:')
 5         if user=='seven' and password=='123':
 6             print('登陆成功')
 7             break
 8         else:
 9             print('登陆失败')
10             i+=1
3.实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
 1 i=0
 2 while i<3:
 3     user=input('user:')
 4     password=input('password:')
 5     if (user=='seven' or user=='alex') and password=='123':
 6         print('登陆成功')
 7         break
 8     else:
 9         print('登陆失败')
10         i+=1

22.写代码

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

 


b. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12 使用 while 循环实现输出 1-100 内的所有奇数
i=1
while i<13:
    if i==10:
        pass
    else:
        print(i)
    i=i+1

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

 

  

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

 

i=1
while i<101:
    if i%2==1:
        pass
    else:
        print(i)
    i+=1

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

1 n1 = 123456
2       n2 = n1
3       答: n1='123456' #'123456'这个值的引用计数为1
4          n2=n1 #'123456'这个值的引用计数为2
5          有优化机制,n2和n1开辟了一个空间

24.编写登录接口?

  基础需求:

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

 1 dic={
 2     'name':'egon','password':'123',
 3  }
 4 count=1
 5 tag=True
 6 while count<=3:
 7      name=input('>>>:')
 8      password=input('>>>:')
 9      if name==dic['name'] and password==dic['password']:
10        print('欢迎光临')
11        break
12      else:
13        print('输入错误,请重新输入,第 <%s> 次' %count)
14        count+=1

升级需求:

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

 

    



 
 

    
    
  

  

  

 

  

posted @ 2017-12-07 22:28  大熊子  阅读(1149)  评论(0编辑  收藏  举报