流程控制练习

1:编写for循环,利用索引遍历出每一个字符
msg='hello egon 666'

2:编写while循环,利用索引遍历出每一个字符
msg='hello egon 666'

3:
msg='hello alex'中的alex替换成SB

4:
msg='/etc/a.txt|365|get'
将该字符的文件名,文件大小,操作方法切割出来

5.编写while循环,要求用户输入命令,如果命令为空,则继续输入

6.编写while循环,让用户输入用户名和密码,如果用户为空或者数字,则重新输入

7.编写while循环,让用户输入内容,判断输入的内容以alex开头的,则将该字符串加上_SB结尾

8.
1.两层while循环,外层的while循环,让用户输入用户名、密码、工作了几个月、每月的工资(整数),用户名或密码为空,或者工作的月数不为整数,或者
月工资不为整数,则重新输入
2.认证成功,进入下一层while循环,打印命令提示,有查询总工资,查询用户身份(如果用户名为alex则打印super user,如果用户名为yuanhao或者wupeiqi
则打印normal user,其余情况均打印unkown user),退出功能
3.要求用户输入退出,则退出所有循环(使用tag的方式)


运行效果如下:
user: egon
password: 123
work_mons: 12
salary: 10000

1 查询总工资
2 查询用户身份
3 退出登录

>>: 1
总工资是: 120000.0

1 查询总工资
2 查询用户身份
3 退出登录

>>: 2
unkown user

1 查询总工资
2 查询用户身份
3 退出登录

>>: 3

解答:


1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #1:编写for循环,利用索引遍历出每一个字符 4 msg='hello egon 666' 5 for i in range(len(msg)): 6 print(msg[i],end=' ')
1 #!/usr/bin/env python
2 # -*- coding:utf-8 -*-
3 #2:编写while循环,利用索引遍历出每一个字符
4 msg='hello egon 666'
5 i=0
6 while i<len(msg):
7     print(msg[i], end=' ')
8     i+=1
1 #!/usr/bin/env python
2 # -*- coding:utf-8 -*-
3 #msg='hello alex'中的alex替换成SB
4 msg='hello alex'
5 print(msg.replace('alex','SB'))
 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 '''
 4 msg='/etc/a.txt|365|get'
 5 将该字符的文件名,文件大小,操作方法切割出来
 6 '''
 7 msg='/etc/a.txt|365|get'
 8 # print(msg.split('|'))
 9 a=msg.split('|')
10 b=a[0].split('/')
11 print(b[-1],a[1],a[2])
 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 #5.编写while循环,要求用户输入命令,如果命令为空,则继续输入
 4 
 5 # tag=True
 6 # while tag:
 7 #     name=input('请输入用户名:')
 8 #     if name == '':
 9 #         print('输入为空,请重新输入: ')
10 #         continue
11 #     else:
12 #         passwd=input('请输入密码:')
13 #     if (name=='egon') and (passwd == '123'):
14 #             print('Login Successful ')
15 #             while tag:
16 #                 res = input('>>:')
17 #                 if (res == 'q'):
18 #                     tag = False
19 #                     break
20 #             break
21 #     print('login err')
22 
23 
24 while True:
25     a=input('请输入命令:')
26     if a.isspace() or not a:
27         continue
28     break
 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 #6.编写while循环,让用户输入用户名和密码,如果用户为空或者数字,则重新输入
 4 tag=True
 5 while tag:
 6     name=input('请输入用户名:')
 7     if name == '':
 8         print('输入为空,请重新输入: ')
 9         continue
10     elif name.isdigit():
11         print('输入为数字,请重新输入: ')
12         continue
13     else:
14         passwd=input('请输入密码:')
15     if (name=='egon') and (passwd == '123'):
16             print('Login Successful ')
17             while tag:
18                 res = input('>>:')
19                 if (res == 'q'):
20                     tag = False
21                     break
22             break
23     print('login err')
 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 '''
 4 7.编写while循环,让用户输入内容,判断输入的内容以alex开头的,则将该字符串加上_SB结尾
 5 '''
 6 tag=True
 7 while tag:
 8     name=input('请输入用户名:')
 9     if name == '':
10         print('输入为空,请重新输入: ')
11         continue
12     elif name.isdigit():
13         print('输入为数字,请重新输入: ')
14         continue
15     else:
16         passwd=input('请输入密码:')
17     if (name=='egon') and (passwd == '123'):
18             print('Login Successful ')
19             while tag:
20                 res = input('>>:')
21                 if res.startswith('alex'):      #判断输入字符串是否是以alex开头
22                     print(res+'_SB')
23                     continue
24                 elif (res == 'q'):
25                     tag = False
26                     break
27                 print(res)
28             break
29     print('login err')
 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 '''
 4 8.
 5 1.两层while循环,外层的while循环,让用户输入用户名、密码、工作了几个月、每月的工资(整数),用户名或密码为空,或者工作的月数不为整数,或者
 6 月工资不为整数,则重新输入
 7 2.认证成功,进入下一层while循环,打印命令提示,有查询总工资,查询用户身份(如果用户名为alex则打印super user,如果用户名为yuanhao或者wupeiqi
 8 则打印normal user,其余情况均打印unkown user),退出功能
 9 3.要求用户输入退出,则退出所有循环(使用tag的方式)
10 
11 运行效果如下:
12 user: egon
13 password: 123
14 work_mons: 12
15 salary: 10000
16 
17             1 查询总工资
18             2 查询用户身份
19             3 退出登录
20             
21 >>: 1
22 总工资是: 120000.0
23 
24             1 查询总工资
25             2 查询用户身份
26             3 退出登录
27             
28 >>: 2
29 unkown user
30 
31             1 查询总工资
32             2 查询用户身份
33             3 退出登录
34             
35 >>: 3
36 '''
37 tag=True
38 while tag:
39     name = input('请输入用户名:')
40     while name == '':
41         name=input('用户名为空,请重新输入: ')
42     passwd = input('请输入密码:')
43     while passwd=='':
44         passwd=input('密码为空,请重新输入: ')
45     work_mons=input('请输入工作时间:')
46     while  not (work_mons.isdigit()):
47         work_mons = input('输入不为数字,请重新输入:')
48     salary=input('请输入每月工资:')
49     while not (salary.isdigit()):
50         salary = input('输入不为数字,请重新输入:')
51     if (name=='egon' and passwd=='123')\
52             or (name=='alex' and passwd=='123')\
53             or (name=='yuanhao' and passwd=='123')\
54             or (name=='wupeiqi' and passwd=='123'):
55         print('user:',name)
56         print('password:',passwd)
57         print('work_mons:%s'%work_mons)
58         print('salary:',salary)
59         a='1 查询工资'
60         b='2 查询用户身份'
61         c='3 退出登录'
62         print(a.rjust(23,' '))
63         print(b.rjust(25, ' '))
64         print(c.rjust(23, ' '))
65         while tag:
66             res = input('>>:')
67             if (res == '1'):
68                 print('总工资是:%s'%(int(work_mons)*int(salary)))
69             elif (res == '2'):
70                 if name=='alex':
71                     print('super user')
72                 elif name=='yuanhao'or name=='wupeiqi':
73                     print('normal user')
74                 else:
75                     print('unkown user')
76             elif(res == '3'):
77                 tag=False
78                 break
79         break
80     print('login err')

 

posted @ 2017-06-07 22:27  hedeyong11  阅读(261)  评论(1编辑  收藏  举报