条件语句和基本数据类型
一、条件语句
if条件语句:
python中的代码块,严格以缩进区分,如果 if name == "1" 下一行没有缩进程序运行会报错。有缩进说明
print("欢迎进入第一会所!") 是属于if的代码块,
print("妇女丹巴") 是属于else 的代码块。
name = input("请输入用户名:")
vip = "yes"
if name == "第一会所":
# 第一个代码块
print("欢迎进入第一会所!")
if vip == "yes":
# 第二个代码块,比第一个多一个缩进,不在同一级别下
print("欢迎您会员光临!")
else:
print("欢迎光临!")
elif name == "东京热":
print("妇女丹巴")
elif name == "一本道":
pass
# 表示跳过,什么都不执行
else:
print("对不起,您无权进入!")
print("开始服务.....")
# 使用while循环输入 1.2.3.4.5.6.8.9.10 的和
num = 0
count = 0
while num < 10:
num = num + 1
if num != 7:
count = count + num
else:
pass
print(count)
"""
"""
# 求1..100所有数的和
num = 0
count = 0
while num < 100:
num = num + 1
count = count + num
print(count)
"""
"""
# 输出1....100 所有的奇数、偶数
num = 1
while num <= 100:
if num % 2 == 0:
print("奇数:", num)
elif num % 2 == 1:
print("偶数:", num)
num = num + 1
"""
# 用户登录三次错误机会
num = 1
n = 0
while num <= 3:
name = input("请输入用户名:")
passwd = input("请输入密码:")
if name == '456' and passwd == '123':
print("登陆成功!")
num = 5
else:
n = 3 - num
print("您还有", n, "次机会")
if n == 0:
print("今天不可以再次登录")
num = num + 1
print("嘿嘿嘿嘿嘿嘿嘿恶化")
while 和break,continue 连用
break 跳出本层循环
continue 跳出本次循环,继续下一层循环。
基本数据类型:
1.字符串 #双引号,单引号 引起来的内容就是字符串,引号里边的内容称为字符
name = “alex”;
name = “""alex”"";
name = 'alex'
name = ''alex''';
加法:
n1 = “alex”
n2 = "nihao"
n3 = n1 + n2
print(n3) #"alexnihao"
乘法:
n1 = “sb ”
n2 = n1 * 10
print(n2) # “sb sb sb sb sb sb sb sb sb sb ” n1重复十次
2.数字
age = 10
加法:
a1 = 10
a2 = a1 + 10
减法:
a3 = a1 - 10
乘法:
a4 = a1 * 2
除法:
a5 = a1 / 2
幂次:
a6 = a1 ** 3 # a1的三次方
取余:
a7 = a1 % 3 #10除以3的余数 1
a7 = a1 // 3 #10除以3的商数 3
补充:
交叉赋值:
m = 1
n = 2
#要让 m n 的值交换
m,n = n,m print(m,n)
#或者
temp = m
m = n
n = temp
print(m,n)
解压:
对于列表来说 l = [1,2,3,4]
a = l[0]
b = l[1]
...
还可以这么写:a,b,c,d = l print(a,b,c,d)
只取前后两个值 a,*_,d = l print(a,d)
逻辑运算:
and or not
""" 整型: int 用于标识:年龄,等级,身份证号等 """ # age = 18 # age = int(age) # print(age, type(age), id(age)) """ 浮点型:float 实际:sale = float(sale) 用于标识:工资等 """ # sale = 3000.00 # print(sale, type(sale), id(sale)) """ 字符串:str # name = str('dysk') 用于标识描述性信息 有加法、乘法 """ name = 'dysk' print(name, type(name), id(name)) name10 = name+"001" name100 = name * 10 print(name10) print(name100) """ 列表:list info = list([1,'dysk','male',['bjtj','heltah',1000]]) 用于====》有序存放任意类型的数据 """ info = list([1, 'dysk', 'male', ['bjtj', 'heltah', 1000]]) print(info) # [1, 'dysk', 'male', ['bjtj', 'heltah', 1000]] print(info[1]) # dysk print(info[3][2])# 1000 """ 字典:在{}内使用,号分割,存储多个 key:value 值,value 可以是任意类型 存储多个值的情况,每个值都有唯一一个对应的key,可以更为方便高效地取值 """ info1 = { "name": "dysk", "age": 18, "sex": "male", "company": { "name": "bjtj", "type": "health", "emp_count": 1000 }, "nation": "China" } print(info1['company']['type'])
可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表、字典
不可变类型:value一旦改变,id也跟着改变,则称为不可变类型(id改变意味着重新分配了内存空间)如,整型、浮点型、字符串
字典和列表中的key必须为不可变类型定义,布尔值也是不可变类型,但是一般应用场景中没有使用布尔型作为key的
格式化输出:
# 按照指定格式打印字符串
# %s %d 占位符
# %s 既可以接收字符串,也可以接收数字
# %d 只能接收数字
name = input("name>>")
age = input("age>>")
# 输出myname is dysk my age is 18
# 如果有两个占位符,则需要使用%(name,age) 并且变量按照前后顺序排序,如果只有一个占位符则 %name 或者 %age就行
print("my name is %s my age is %s" %(name,age))
print("my name is %s" %name)
name1 = "dysk"
age1 = 18
#print("my age is %d " %name1) # TypeError: %d format: a number is required, not str
print("my age is %d " %age1) # 18
# 多行格式化输出
name = "dysk"
age = 18
sex = "男"
job = "工作"
print("""
------------ info of %s -----------
Name : %s
Age : %s
Sex : %s
Job : %s
------------- end -----------------
""" %(name,name,age,sex,job))