Day03

上次作业

 1 #1.计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和
 2 i=1
 3 sum=0
 4 while i <100:
 5     if i==88:
 6         i += 1
 7         continue
 8     if i%2!=0:
 9         sum=sum+i
10     else:
11         sum=sum-i
12     i += 1
13 print(sum)
14 
15 #2.计算 1 - 2 + 3 ... -99 中除了88以外所有数的总和
16 i=0
17 j=-1
18 sum=0
19 while i<99:
20     i=i+1
21     if i==88:
22         continue
23     else:
24         j = -j
25         sum=sum+i*j
26 print(sum)
27 
28 #3.⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)
29 username = "yangxiaoer"
30 password = "123456"
31 i = 3
32 while i > 0:
33     zh = input("请输入你的账号:")
34     i -= 1
35     if zh == username:
36         mm = input("请输入你的密码:")
37         if mm == password:
38             print("验证成功.正在登陆......")
39             print('''恭喜你登陆成功!
40             欢迎用户进入
41             用户名 :%s
42             密码   :%s
43             '''%(zh,mm))
44             break
45         else:
46             if i == 0:
47                 print("你的机会已经没了!game over 下次见!")
48                 answer = input('再试试?Y or N')
49                 if answer == 'Y':
50                     i = 3
51             print("密码错误,请重新输入")
52             print("你还有"+str(i)+"次机会")
53     else:
54         print("请输入正确的用户名!")
55         if i == 0:
56             print("你的机会已经没了!")
57             answer = input('再试试?Y or N')
58             if answer == 'Y':
59                 i = 3
60         print("你还有" + str(i) + "次机会")
61 else:
62     print('你要不要脸')            

 用户登录,三次机会,并能提示

 1 #first give username and password
 2 '''import io
 3 import sys
 4 sys.stdout=
 5 io.TexrIOWrapper(sys.stdout.buffer.encoding='utf-8')'''
 6 import sys 
 7 print(sys.stdout.encoding)
 8 i=3
 9 username = 'dog'
10 password = '123'
11 while i >= 0:
12 #exit when there is no chance
13     if i == 0:
14         print('您的机会已经用完')
15         break
16 #check out
17     else:
18         name = input('请输入用户名: ')
19         i -= 1
20         if name == username:
21             key = input('请输入密码: ')
22             #enter when name and key are all correct
23             if key == password:
24                 print('''
25 登录成功
26 用户:%s
27 密码:%s
28 欢迎您
29                 '''%(name,key))
30                 break
31             #密码不正确时重新循环
32             else:
33                 print('您的密码不正确,还有%d次机会'%(i))
34         else:
35             if i == 0:
36                 continue
37             else:
38                 goon = input('您的用户名不正确,是否重新输入:Y/N ')
39                 if goon == 'N':
40                     print('再见')
41                     break
42                 else:
43                     print('请重新输入用户名和密码')

 1. 数据类型

1. int 1,2,3

用于计算。

2. bool:True,False

用户判断。

3. str:引号引起来的部分,' '," ",''' ''',""" """

存储少量数据,进行操作

'fjdsal', '二哥', '`13243', 'fdshklj'

4. list:列表

储存大量的数据。

[1,2,3,'泰哥','12353234',[1,2,3]]

5. 元祖:也叫只读列表,不能修改。

(1,2,3,'第三方',)

6. dict:字典,对应

{'name':'云姐','age':16} 

{'云姐':[],' 二哥':[200,200,200,....}

7. 集合:{1,2,34,'asdf'}

2. int

1. print(i.bit_length()) 转化为二进制的最小位数

1 0000 0001 1

2 0000 0010 2

3 0000 0011 2.

3. bool

1. int与str的转换

1. int---->str 无要求

i = 1 s = str(i)

2. str---->int 一定要为数据类型

s = '1' i = int(s)

2. int与bool的转换

1. int---->bool 0: False 非0: True

i = 1 b = bool(i)

2. bool---->int True: 1 False: 0

while True:

  pass

while 1: 效率高

  pass  

3. str与bool的转换 非空字符串都是True

str---->bool

s = '' : False

s = '0' : True

4. str

  1 #1. 字符串的索引与切片 ps: 对字符串进行操作后形成新字符串(与原字符串无关)
  2 s = 'ABCDLSESRF'
  3 #1-1 索引
  4 s1 = s[0]
  5 print(s1)    #A
  6 s2 = s[2]
  7 print(s2)   #C     
  8 s3 = s[-1]
  9 print(s3)    #F
 10 
 11 #1-2 切片 :顾头不顾尾
 12 s5 = s[0:4]
 13 print(s5)    #ABCD
 14 s7 = s[:]
 15 s8 = s[0:]
 16 print(s7,s8)    #ABCDLSESRF,啥都不写也是全取
 17 s9 = s[0:0]    #一样的什么都不输出,不报错
 18 
 19 s = 'ABCDLSESRF'  # s[首:尾:步长] 按步长取
 20 s10 = s[0:5:2]
 21 print(s10)    #ACL
 22 s11 = s[4:0:-1]    #倒着取,这时右边为首,取不到s[0]: A
 23 print(s11)    #LDCB
 24 s13 = s[3::-2]
 25 print(s13)    #DB
 26 s = 'ABCDLSESRF'
 27 s14 = s[-1::-1]
 28 print(s14)    #从最后一位倒着取到头
 29 s15 = s[::-1]
 30 print(s15)    #与s14相同
 31 
 32 #2. 字符串的操作
 33 #2-1 首字母大写
 34 s = 'alexWUsir'
 35 s1 = s.capitalize() 
 36 print(s1)    #Alexwusir
 37 
 38 #2-2 全大写,全小写
 39 s2 = s.upper()    #全大写
 40 s21 = s.lower()    #全小写
 41 print(s2,s21)    #ALEXWUSIR alexwusir
 42 
 43 ps: 可用于验证码等
 44 s_str= 'acEQ1'
 45 you_input =input('请输入验证码,不区分大小写')
 46 if s_str.upper() == you_input.upper():
 47     print('输入成功')
 48 else:
 49     print('请重新输入')
 50 
 51 #2-3 大小写翻转
 52 s3 = s.swapcase()
 53 print(s3)    #ALEXwuSIR
 54 
 55 #2-4 每个隔开(特殊字符或者数字)的单词首字母大写
 56 s = 'alex*egon-wusir'
 57 s4 = s.title()
 58 print(s4)    #Alex Egon Wusir
 59 s = 'fade,crazy*w4rri0r_songsong node_3'
 60 s4 = s.title()
 61 print(s4)    #Fade Crazy W Rri R Songsong Node
 62 ps: 中间为空格/特殊字符/数字
 63 
 64 #2-5 居中,空白填充
 65 s = 'alexWUsir'
 66 s5 = s.center(20,'~')    #前面为总共的长度width,后面为填充(默认为空白填充)
 67 print(s5)    #~~~~~alexWUsir~~~~~~
 68 
 69 #2-6 补足位数 \t前补足8/16位,包括前面
 70 s = 'alex\tsir'
 71 s6 = s.expandtabs()
 72 print(s6)    #alex    sir
 73 ps:可用于制作财务报表等
 74 
 75 #2-7 公共方法:字典,列表,字符串均能用
 76 s = 'alex二哥'
 77 l = len(s)    #字符长度,中文也算   
 78 print(l)    #6
 79 
 80 #2-8 判断以什么开头结尾 startswith endswith 返回bool值
 81 s = 'alexWUsir'
 82 s7 =s.startswith('alex')
 83 s71 = s.startswith('e',2,5)    #判断的整体,开头,结尾(同样顾头不顾尾)
 84 print(s7, s71)    #True True
 85 
 86 ps: 可用作用户在搜索时进行何种操作
 87 if s7:
 88     pass
 89 elif s.startswith('bl'):
 90     pass
 91 print(s7)
 92 
 93 #2-9 find寻找与index索引
 94 # find 通过元素找索引,找不到返回-1
 95 # index通过元素找索引,找不到报错
 96 s = 'alexWUsir'
 97 s8 = s.find('A')
 98 s81 = s.index('A')    #寻找的内容看作整体
 99 print(s8,s81,type(s8))    #-1, 报错, int
100 
101 #2-10 删除元素,默认为空格 strip rstrip, 右边删除 lstrip, 左边删除
102 s = 'alexWUsir%'
103 s9 = s.strip('%')    #前后删除    
104 print(s9)    #alexWUsir
105 s = ' *a%lexWUsi* r%'
106 s91 = s.strip(' %*')
107 print(s91)    #a%lexWUsi* r 
108 ps: 注意是前后删除,碰到字符a后会卡住
109 
110 username = input('请输入名字:').strip()
111 if username =='春哥':
112     print('恭喜春哥发财')
113 
114 #2-11 统计个数,没有则为0
115 s = 'alexaa wusirl'
116 s10 = s.count('al')    #统计的内容看作整体,同时可以切片
117 print(s10)    #1
118 
119 #2-12 字符串转换为列表 split str ---->list
120 s = ';alex;wusir;taibai'
121 l = s.split('a')
122 print(l)    #['','alex','wusir','taibai']
123 ps: 将隔开的元素进行转换,注意若打头为特殊字符,则列表最前面有空字符串
124 
125 #2-13 format的三种玩法 格式化输出
126 s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('太白',36,'girl','太白')
127 print(s)
128 name = input('请输入名字:')
129 s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name,36,'girl')
130 print(s)    #注意要从0开始
131 name = input('请输入名字:')
132 s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18,name=name,hobby='girl')
133 print(s)
134 
135 #2-14 替换
136 s = '嗷嗷汪'
137 s11 = s.replace('嗷','呜',1)    #old, new, count = none替换次数,默认全部替换
138 print(s11)    #呜嗷汪
139 
140 #2-15 is系列
141 name = 'dog'
142 name.isalnum()    #字符串由字母或数字组成
143 name.isalpha()    #由字母
144 name.isdigit()    #由数字
145 
146 #3. for循环(有限循环)
147 s = 'fhdsklfds'
148 for i in s:
149     print(i)
150 s = 'fdsa嗷fdsalk'
151 if '嗷' in s:
152     print('您的评论有敏感词...')

 

上一篇:java学习笔记day03—类与对象


下一篇:Activity启动流程分析(android-29),android webview