2019-10-22(python第二天)(上)

变量

python中的变量,直接声明,无需制定数据类型:

a = 2019
print(a)
2019

判断一个变量的数据类型:print(type(变量名))

a = 2019
print(type(a))
    #a的数据类型为整型

python中变量跟其他编程语言不一样的地方——交换两个变量的值:

# 例如:交换a和b的值
a = 2019
b = 10
a, b = b, a   #直接交换位置即可,无需创建新的变量来暂存变量
print(a, b)
10 2019

标识符

  • c中:字母、数字、下划线,不能以数字开头,不能与关键字重叠
  • python中:
  • java中:多了一个美元符号

变量的命名

  1. 驼峰式命名法
  • 大驼峰:UserNameInfo 每个单词的首字母要大写
  • 小驼峰:userNameInfo 第一个单词的首字母不大写,其他首字母都要小写
  1. 下划线命名(在python中,_开头的变量有特殊含义)
  • 例如: user_name_info
  • 例如: _ import _()

python中的流控制语句:if...else...elif

# 例如:在屏幕中输入,在控制台中接受变量:
pass_word = input('请输入密码')
print("你的密码为:"+pass_word)
请输入你的密码:1234
1234

python中的循环:

  1. 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("重考去吧!")
  1. 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+'次才能猜的出来,洗洗睡吧')

  1. 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')

你可能感兴趣的:(2019-10-22(python第二天)(上))