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")