1、使用while循环输入1 2 3 4 5 6 8 9 10
第一种方法:
count = 0
while count < 10:
count += 1
if count == 7:
pass
else:
print(count)
第二种方法,这个方法常用:
count = 0
while count < 10:
count += 1
if count == 7:
continue
print(count)
第三种方法:
count = 0
while count < 10:
count += 1
if count == 7:
print(' ')
else:
print(count)
2、求1-100的所有数的和
sum = 0
count = 1
while count <= 100:
sum += count
count += 1
print(sum)
3、输出1-100内的所有奇数
思路:先输出1到100
第一种方法:
count = 1
while count < 101:
print(count)
count += 2
第二种方法:
count = 1
while count < 101:
if count % 2 == 1:
print(count)
count += 1
第三种方法:
count = 1
while count < 100:
count += 1
sum = count % 2
if sum == 1:
print(i)
4、输出1-100内的所有偶数
方法一:
count= 1
while count < 100:
if count % 2 == 0:
print(count)
count += 1
方法二:
count = 1
while count < 100:
count += 1
sum = count % 2
if sum == 0:
print(i)
5、求1-2+3-4+5....99的所有数的和
思路:当count是偶数的时候,sum=sum-count,
偶数是-2 -4 -6 ...
奇数是1 ,3 到99
方法一、
sum = 0
count = 1
while count < 100:
if count % 2 == 0:
sum = sum - count
count += 1
print(sum)
方法二、
count = 0
sum1 = 0
sum2 = 0
while count < 100:
count += 1
num1 = count%2
if num1 == 1:
sum1 += count
else:
sum2 += count
print(sum1 - sum2)
6、用户登录(三次机会重试)
思路:input 心中有账号 密码,while
i = 0
while i < 3:
username = input('please enter your username:')
password = int(input('please enter your password'))
if username == 'dawang' and password == 123456:
print('登录成功')
else:
print('登录失败请重新登录')
i += 1
方法二:
username = 'dawang'
password = 123456
i = 0
while i < 3:
if username == 'dawang' and password = 123456:
print('恭喜你登录成功')
break
else:
print('登录失败,您还有%d次登录机会'%(2-i))
if (2-i) == 0:
result = input('你是否还想在试试?yes')
if result == 'yes':
i = 0
continue
i += 1
else: print('要不要脸你')
编码格式:
00000001 8位bit == 1个字节(byte)
1byte 1024byte == 1kb
1kb 1024kb == 1MB
1MB 1024MB == 1GB
1GB 1024GB == 1TB
python2默认是ASCII码,不包含中文,所有报错
美国:ASCII,为了解决这个全球的文字问题,创建了一个万国码,unicode
1个字节表示所有的英文,特殊字符,数字等等
2个字节,16位表示一个中文,不够,unicode一个中文用四个字节表示,32位
,但是太浪费了,后来就有了unicode升级版UTF-8,一个中文用三个字节去表示,包含
所有语言
中国汉字9万多字
2**16 == 65536
2**32 ==
GBK是中国人发明的,国内使用,只包含中文和英文,不包含日语 汉语等,一个中文用2个字节。
ASCII :不包含中文,只能显示英文,特殊字符,数字
unicode :万国码,包含中文,4字节32位太浪费
utf-8 :24位 3字节 是unicode升级版,包含所有语言
gbk :国内使用,2字节14位,也不够中文使用
运算符:
优先级:() > not > and > or
print(1 or 2 ) #1
print(3 or 2) #3
print(0 or 100 ) # 100
print(0 or 2) # 2
总结:x or y ,x为非零,则返回x
数字转换成布尔值:
0转换成布尔值是false
非零转换成布尔值是True
print(-2)
print(0)
布尔值也能转换数字
print(int(False))
print(int(True))
总结:x and y ,x 为True,则返回y
print(1 and 2)
print(0 and 2)
print(2 or 100 or 3 or 4) #2
print(0 or 4 and 3 or 2)
print(2 or 1 < 3)#2
print(2 or 1 < 3 and 2)#2
print(1 > 2 and 3 or 4 and 3< 2)#False
练习题:
计算1-2+3...+99 中除了88以外所有数的总和
count = 1
sum = 0
while count < 100:
if count == 88:
count += 1
continue
elif count % 2 != 0:
sum = sum + count
else:
sum = sum - count
i += 1
print(sum)
--------------------------------------
计算1-2+3...-99 中除了88以外所有数的总和
i = 0
j = -1
while i <99:
i = i+1
if i == 88:
continue
else:
j=-j
sum=sum+i*j
print(sum)
用户登录三次输错机会且每次输入错误使显示剩余错误次数(提示使用字符串格式化)
====================================
username = "dawang"
password = "123456"
i = 3
while i > 0:
name = input("请输入你的账号:")
i -= 1
if name == username :
passwd = input("请输入你的密码:")
if passwd == password:
print("验证成功,正在登录》。。")
print('''恭喜你登啦成功!
欢迎用户进入
用户名:%s
密码: %s'''%(name,passwd))
break
else:
if i == 0:
print("你的机会已经没没了,下次见")
print("密码错误,请重新输入")
print("你还有"+str(i)+"次机会")
else:
print("请输入正确的用户名!")
if i == 0:
print("你的机会已经没没了,下次见")
print("你还有"+str(i)+"次机会")
====================================
username = "dawang"
password = "123456"
i = 3
while i > 0:
name = input("请输入你的账号:")
i -= 1
if name == username :
passwd = input("请输入你的密码:")
if passwd == password:
print("验证成功,正在登录》。。")
print('''恭喜你登啦成功!
欢迎用户进入
用户名:%s
密码: %s'''%(name,passwd))
break
else:
if i == 0:
print("你的机会已经没没了,")
answer = input("是否还想在试试,yes")
if answer == 'yes':
i = 3
print("密码错误,请重新输入")
print("你还有"+str(i)+"次机会")
else:
print("请输入正确的用户名!")
if i == 0:
print("你的机会已经没没了,下次见")
answer = input("再试试?Y or N")
if answer == 'Y':
i = 3
print("你还有"+str(i)+"次机会")
else:
print("你TM要不要脸")