变量
python中的变量,直接声明,无需制定数据类型:
a = 2019
print(a)
2019
判断一个变量的数据类型:print(type(变量名))
a = 2019
print(type(a))
<class 'int'> #a的数据类型为整型
python中变量跟其他编程语言不一样的地方——交换两个变量的值:
# 例如:交换a和b的值
a = 2019
b = 10
a, b = b, a #直接交换位置即可,无需创建新的变量来暂存变量
print(a, b)
10 2019
标识符
- c中:字母、数字、下划线,不能以数字开头,不能与关键字重叠
- python中:
- java中:多了一个美元符号
变量的命名
- 驼峰式命名法
- 大驼峰:UserNameInfo 每个单词的首字母要大写
- 小驼峰:userNameInfo 第一个单词的首字母不大写,其他首字母都要小写
- 下划线命名(在python中,_开头的变量有特殊含义)
- 例如: user_name_info
- 例如: _ import _()
python中的流控制语句:if...else...elif
# 例如:在屏幕中输入,在控制台中接受变量:
pass_word = input('请输入密码')
print("你的密码为:"+pass_word)
请输入你的密码:1234
1234
python中的循环:
- if循环
if的使用语法:python中没有用{}这样的方式来隔离代码,但有使用空格进行强制缩进:
if 要判断的条件:
满足条件时要执行的事情(前面要空四格)
elif():
满足条件时要执行的事情(前面要空四格)
...
else:
满足条件时要执行的事情(前面要空四格)
插曲:数据类型转换:
- 注意:input()函数默认输出str类型的数据,因此需要转换数据类型,而int(input())可将默认的字符串类型转换成整型
【练习1】 判断一个人是否成年
age = int(input("请输入你的年龄"))
if(age >= 18):
print("你已成年,可以喝酒了!")
elif(age <18):
print("你还未成年呢,不能喝酒!")
【练习2】 根据考试分数判断成绩等级
score = int(input("请输入你的分数:"))
if (score >= 90 and score <= 100):
print("你的成绩等级为A")
elif(score >= 80 and score <90):
print("你的成绩等级为B")
elif(score >= 70 and score <80):
print("你的成绩等级为C")
elif(score >= 60 and score <70):
print("你的成绩等级为D")
else:
print("重考去吧!")
- while循环(要自增)
while 循环条件:
循环体
【练习3-1】计算1到100之间的累加和
count = 1
sum_number = 0
while count <= 100:
# 对count进行累加
sum_number += count
# 自增操作,但python中没有设置专门的i++操作
count += 1
print(sum_number)
插曲: break和continue在循环中的应用
break:跳出本层循环
continue:跳出本次循环,执行下一次循环
【练习3-2】:在练习3-1的基础上,sum_number累加的和大于1000的时候退出循环
count = 1
sum_number = 0
while count <= 100:
# 对count进行累加
sum_number += count
if sum_number >1000:
# 执行跳出本层循环
break
count += 1
print(sum_number)
【练习3-3】在练习3-1的基础上,计算1到100之间的奇数和
i = 1
sum_number = 0
while i <=100:
# pass关键字,空语句,用于站位
# pass
# 过滤所有偶数(用取余的方法,偶数的时候跳出循环)
if i % 2 == 0:
i += 1
continue
sum_number += i
i += 1
print(sum_number)
插曲: random 模块:生成一定范围内的随机数,闭区间
# 导入随机数模块
from random imoport randint #使用这种导入方式的好处:方便
print(randint(10,15)) #直接调用randint()即可,无需random.randint()
【练习4】猜数字游戏
在控制台中输入:请给定要猜的最大数字,请给定要猜的最小数字
eg:[1,100]给定数字的区间,电脑在这个区间随机生成一个数字
我们要在1到100之间猜出这个数字,因为一次猜对的可能性小,
我们要在每次猜的时候提示猜大了还是猜小了,
如果猜1次就对,提示你也太厉害了吧,这是高手
如果猜2-5次对,提示恭喜只用了i次就猜对了数字
如果猜5次以上,提示你也太菜了吧,i次才能猜的出来,洗洗睡吧
import random
# from random imoport randint #可代替上一条语句
max_number = int(input('请给定要猜的最大数字'))
min_number = int(input('请给定要猜的最小数字'))
rb_number = random.randint(min_number,max_number)
# rb_number = randint(min_number,max_number) #可代替上一条语句
count = 0
while True:
count += 1
my_number = int(input('请在该范围内输入一个数字'))
if my_number == rb_number:
break
elif my_number > rb_number:
print('猜大了,请重新猜。')
continue
elif my_number < rb_number:
print('猜小了,请重新猜。')
continue
if count == 1:
print('你也太厉害了吧,这是高手')
elif count >1 and count <=5:
print('恭喜只用了', count, '次就猜对了数字')
else:
print('你也太菜了吧,', count, '次才能猜的出来,洗洗睡吧')
在其他语言中,在输出语句中,str与int之间用"+"作为连接符
但在python中,要用","作为连接符
像以下的输出语句在python中是错误的:
print('你也太菜了吧,'+count+'次才能猜的出来,洗洗睡吧')
- for循环
for 临时变量 in 可迭代对象:
循环体
# 注:临时变量不需要提前声明
【练习5】分别取出neusoft中的每一个字母
name = 'neusoft'
# 遍历这个单词的每一个字母
for simple_word in name:
print(simple_word)
【练习6-1】1到100的和(累加)
# 在其他语言中,实现for循环的格式:
sum = 0;
for(int i = 0;i<=100;i++){
sum += i;
print(sum);
}
但在python中,可用range()函数,生成左闭右开的区间
sum_num = 0
for i in range(1,101):
sum_num += i
print(sum_num)
【练习6-2】在练习6-1的基础上,求1到100之间的奇数和:
sum_num = 0
for i in range(1,101,2):
sum_num += i
print(sum_num)
【练习7】使用for循环打印九九乘法表(循环嵌套)
for i in range(1,10): # 第一层循环
for j in range(1,i+1): # 第二层循环
print(j,'*',i,'=',i*j,' ',end='') # j是由一开始,i是执行完第一层循环后自动跳到下一个数字
print() #换行,等价于print(end='\n')