while循环/格式化输出/ 逻辑运算/ 编码 /单位转换

一.while 循环

1. 循环
 while 条件:
  代码块(循环体)
 else:
  当上面的条件为假. 才会执行

执行顺序:
 判断条件是否为真. 如果真. 执行循环体. 然后再次判断条件....直到循环条件为假. 程序退出

2. break和continue
  break: 停止当前本层循环
  continue: 停止当前本次循环. 继续执行下一次循环

二. 格式化输出

  %s 占位字符串  全能的. 什么都能接

  %d 占位数字

name="清风徐来"
age = 22
hobby = ""
location = "湖边"
print(age+"岁的"+name+""+location+"喜欢"+hobby) #拼接
print("%s岁的%s在%s喜欢%s" % (age, name, location, hobby))  #格式化

制作卡片

name = input("请输入名字:")
age = input("请输入年龄:")
job = input("请输入你的工作:")
hobby = input("请输入你的爱好:")

s = '''------------ info of %s -----------
Name  : %s
Age   : %s
job   : %s
Hobbie: %s
------------- end -----------------''' % (name, name, age, job, hobby)

print(s)

 

三.简单基本运算符
  and: 并且, 两端同时为真. 结果才能是真
  or: 或者, 有一个是真. 结果就是真
  not: 非真既假, 非假既真

  计算顺序/优先级 : () => not => and => or

x or y:
 如果x是零, 输出y
 如果x是非零, 输出x

 True: 非零
 False: 零
and和or相反. 不要去总结and.  记住or
 

 

四.编码
  1. ascii. 最早的编码. 至今还在使用. 8位一个字节(字符)
  2. GBK. 国标码. 16位2个字节.
  3. unicode. 万国码. 32位4个字节
  4. UTF-8. 可变长度的unicode.
  英文: 8位. 1个字节
  欧洲文字:16位. 2个字节
  汉字. 24位. 3个字节

五.单位转换

  8bit = 1byte
  1024byte = 1KB
  1024KB = 1MB
  1024MB = 1GB
  1024GB = 1TB

练习:

#1,判断逻辑语句的True,False.
#(1),1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 >8 or 7 < 6 : True
#(2),not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 : False
#2,求出下列逻辑语句的值.
# (1),8 or 3 and 4 or 2 and 0 or 9 and 7 结果 : 8
# (2),0 or 2 and 3 and 4 or 6 and 0 or 3 结果: 4
#3,下列结果是什么?
# (1),6 or 2 > 1,答案:6
# (2),3 or 2 > 1,答案:3
# (3),0 or 5 < 4,答案:False
# (4),5 < 4 or 3,答案:3
# (5),2 > 1 or 6,答案:True
# (6),3 and 2 > 1,答案:True
# (7),0 and 3 > 1,答案:0
# (8),2 > 1 and 3,答案:3
# (9),3 > 1 and 0,答案:0
# (10),3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2,答案:2
#4,while循环语句的基本结构?
# while 条件:
# 代码块(循环体)
# else:
# 当上面的条件为假. 才会执行
5,利用while语句句写出猜大小的游戏:
 设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测
 的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果
 正确,然后退出循环。

a = 66
while True:
  number = int(input("请输入一个数字"))
  if number > a:
    print("猜测的结果大了")
  elif number < a:
    print("猜测结果小了")
  elif number == a:
    print("猜测结果正确")
    break

6,在第5题的基础上进行升级:给用户三次机会,如果三次之内猜对了,
则显示猜测正确,退出循环,如果三次之内没有猜测正确,
则自动退出循环,并显示'太笨了你.....'

n = 1
while n <= 3:
  number = int (input("请输入一个数字"))
  if number > 66:
    print("猜测结果大了")
  elif number < 66:
    print("猜测结果小了")
  else:
    print("结果正确")
     break
n = n + 1
else:
print("太笨了你")

 

7,使用while循环输入1 2 3 4 5 6 8 9 10

n = 1
while n < 11:
  if n == 7:
    n = n + 1
    continue
print(n)
n = n + 1

8,求1至100所有数的和

#方法一:
n = 1
a = n
while True :
  n = n + 1
  a += n
  if n == 100:
    print(a)
    break   #答案:5050
#方法二:
n = 1
a = 0
while n <= 100:
  a += n
  n = n + 1
else:
print(a) #答案:5050

9,输出1至100内的所有奇数.

a = 1
while a <= 100:
  if a % 2 == 1:
print(a)
a = a + 1

  

10,输出1至100内的所有偶数,

#方法一:
sum = 2
while sum <= 100:
  if sum % 2 == 0:
    print(sum)
  sum += 1
#方法二:
sum = 0
while sum < 100:
    sum += 2
    print(sum)

11,求1-2+3-4+5...99的所有数的和.

a = 1
sum = 0
while a < 100:
if a % 2 == 0:
sum -= a
else:
sum += a
a += 1
print(sum) #50


12,用户登录(三次输错的机会)且每次输错误时显示剩余错误次数(提示:使用字符串格式化)

a = "ZH123456"
b = "MM123456"
i = 1
while True:
  account_number = input("请输入您的账号:")
  password = input("请输入您的密码:")
  if account_number!= a or password!= b:  
    if i == 1:   
      print("输入错误,还剩下2次机会")   
    elif i == 2:   
      print("输入错误,还剩下1次机会")   
    elif i == 3:   
      print("输入错误,您没有机会了")   
      break
  i = i + 1
    else:
      print("输入正确") break
#方法二,
i = 1
while i <= 3:
Z_H_ = input('请输入您的账户')
M_M_ = input("请输入你的密码")
if Z_H_ == '清风徐来' and M_M_ =='水波不兴':
print('欢迎登陆')
break
else:
print('输入错误,您还有%d次输入机会'%(3- i))
i += 1

  

13,用户输入一个数.判断这个数是否是一个质数.

number = int(input("请输入一个数字"))
i = 2
while number > i:
if number % i ==0:
print("这不是一个质数")
break
i = i + 1
if number <= 1:
print("这不是一个质数")
else:
print("这是一个质数")


14,输入一个广告语,判断这个广告是否合法.根据最新的广告法来判断,
广告法包含过多,我们就判断是否包含"最','第一','稀缺','国家级'等字样,如果包含.
提示,广告不合法.
 

GuangGgao = input("请输入广告标语")
if "最"in GuangGgao or "第一"in GuangGgao or "稀缺" in GuangGgao or "国家级" in GuangGgao:
print("广告不合法")
else:
print("合法")

  

15,输入一个数,判断这个数是几位数(用算法实现)
 

i = 0
 number = int(input("请输入一个数字"))
 while number!=0:
 number = number // 10
 i = i + 1
 print (i)

  

 

posted @ 2017-03-05 15:51  清风_Z  阅读(342)  评论(0编辑  收藏  举报