What is variables?

  • 一段命名的内存空间
  • 变量即在程序运行过程中,它的值是允许改变的量

 

1、变量命名:

合法:

1 显式、通俗易懂。
2 nums_of_jay_gf = 19
3 NumsOfJayGF = 19    #首字母大写,驼峰式写法

不合法:

names-of-alex-gf = 19   # 变量名不能以 -  分隔
5name = 19        # 变量名不能以数字开头
!name             # 变量名不能包含特殊字符
ame of teacher =  # 变量名间不能有空格
                     # 有些关键字是 Python 自己保留的,也不能被当做变量名

2、变量引用:

a = 3
b = a        # 此时 b 引用了 a 是指向 a 引用的内存地址,而不是指向 a 的值
a = 5        # a 此时开辟一块内存空间去存储新的值 5
             # a 的值变化后,对 b 没有任何影响
id(a),id(b)  # 查看 a 与 b 引用的 Python 内存地址
(137220896,137220928)   # 此内存地址并不是物理内存地址,只是 Python 自己的地址。

Python 靠 Python 解释器与操作系统协调工作,Python 解释器会从物理内存中申请一大段空间,提供给 Python 程序来使用,然后又将这段空间分配给 Python 程序。

销毁其中一个变量,并不会影响另一个变量的使用。

3、用户交互:

1 name = input("Please input you name:")    
2 print (name)  # 此时用户输入的值就会被保存在 name 这个变量中

4、Python 的强制缩进:

Python 需要靠缩进来判断语句的作用域,不写缩进解释器无法分辨作用域。

同一级别代码,缩进必须保持一致。

name = input("Please input name:")
if name == "xiaoming":         # 此处 : 至下一次缩进位置为一段
    print ("You name is XiaoMing")
elif name == "xiaohei":          # 此处 : 至下一次缩进位置为一段
    print ("You name is XiaoHei")
else:                            # 此处 : 至下一次缩进位置为一段
    print ("Hello stranger")

5、循环:

5.1 while 循环:

number = int(input("Please input number range:1 to 10:"))  # python 3.0 中将所有输入默认保存为 字符串,所以必须用 int 转换成数值才可以进行数值比较

while number < 10:   # 当 while 条件为真时进入循环
    print (number)
    number += 1          # 每次循环数字 + 1
    if number > 8:       # 大于 8 则跳出循环
        break            # 跳出循环      
else:                    # 当 while 条件不成立时,执行 else:中的代码
    print ("You input digit too large")   # 输入的数字大于10 则提示过大

5.2 while 死循环:

digit = 0       # 设定初始值
while True:     # while 条件始终为真,死循环
    print (digit)    # 输入 digit 每次的值
    digit += 1       # 每循环一次将 digit 值 + 1
    if digit > 10:   # 当 digit 值大于 10 判断成立
        break        # 跳出循环

练习:要求用户猜数字,猜错三次后退出程序。

1 lucky_num = 8
 2 count = 0
 3 
 4 while count < 3:   # 判断错误次数是否大于 3
 5     guess_num = int(input("Please input lucky_num:"))
 6     if guess_num > lucky_num:    # 判断输入是否大于
 7         print ("Too large")
 8     elif guess_num < lucky_num:  # 判断输入是否小于
 9         print ("Too small")
10     else:          # 等于
11         print ("Bingo")
12         break      # 猜对后跳出循环
13     count += 1     # 记录猜的次数
14 else:              # 错误次数大于 3 时执行 else 中代码
15     print ("Try too many times")

 

5.3 for 循环:

1 for i in range(3):   # range 为内置方法 会生成 0 1 2  3 个数
2     print (i)

 

练习:for 循环实现猜数字,猜错三次退出循环

for i in range(3):   # range 为内置方法,会生成 1 - 3
    guess_num = int(input("Please input lucky_num:"))
    if guess_num > lucky_num:
        print ("Too large")
    elif guess_num < lucky_num:
        print ("Too small")
    else:
        print ("Bingo")
        break
    count += 1
else:
    print ("Try too many times")

 


 

5.4 嵌套循环练习  实现猜数字,输入数字范围为 1 - 20,猜错三次退出循环

1 lucky_num = 8
 2 count = 0
 3 while count < 3:    # 判断输入次数
 4     guess_num = int(input("Please input lucky_num range 1 to 20:"))
 5     while guess_num < 20:   # 判断用户输入数字是否大于 20
 6         if guess_num > lucky_num:
 7             print ("Too large")
 8             break
 9         elif guess_num < lucky_num:
10             print ("Too small")
11             break
12         else:
13             print ("Bingo")
14             break
15     else:
16         print ("Input range 1 to 20")
17         break
18     count += 1   # 修正次数
19 else:
20     print ("Try too many times")