【摘要】 史上最为详细的python学习笔记
1、条件判断语句if、elif、else及循环嵌套
Python程序语言指定任何非0和非空(null)值为true,0或者 null为false。
Python编程中if语句用于控制程序的执行,基本形式为:
if 判断条件: 执行语句… else: 执行语句… |
其中“判断条件“成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。
username = ‘admin’
”’
python规定:
如果判断的变量值是” 0 None,默认是False
如果判断的变量有值且不为以上内容,默认是True
”’
if username:
# 等价于if username != ”
print(‘登录成功!‘)
else:
print(‘登录失败!‘)
print(‘—————‘)
”’
猜数字游戏
”’
import random # 导入随机数函数库
rand = (random.randint(1, 10)) # 1-10,包含10,注意:不可强转为str类型,会报错TypeError: ‘str’ object is not callable
# print(‘rand = ‘, rand)
num = int(input(‘请输入1-10之间的数:‘))
if num == rand:
print(‘恭喜中大奖啦,奖励笔记本一个!‘)
else:
print(‘很遗憾你猜错啦,与奖品擦肩而过~~~’)
print(‘rand = ‘, rand) # 如果变量在语句的最后面调用,可以不使用占位符或.format()函数
小练习:防沉迷系统
”’
小练习:防沉迷系统
输入年龄和姓名,如果年龄大于18岁,则打印:xxx年龄为xx岁,可以玩3小时游戏,
否则打印:xxx为xx岁,只可以玩1.5小时游戏。
”’
print(‘=== 防沉迷系统===’)
name = input(‘请输入姓名:‘)
age = int(input(‘请输入年龄:‘))
if name and age >= 18:
print(‘{}年龄为{}岁,可以玩3小时游戏。‘.format(name, age))
elif name and age < 18 and age > 0:
print(‘{}年龄为{}岁,只可以玩1.5小时游戏。‘.format(name, age))
elif not name or not age:
print(‘姓名或年龄不能为空,请重新输入。‘)
else:
print(‘年龄不可以为负数!‘)
print(‘——– End ——–‘)
报错:ValueError: invalid literal for int() with base 10: ‘abc’
有时候需要用int()函数转换字符串为整型,但是切记int()只能转化由纯数字组成的字符串,如下例:
非纯数字组成的字符串强转为整型会报错:ValueError: invalid literal for int() with base 10
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值时,可以使用以下形式:
if 判断条件1: 执行语句1… elif 判断条件2: 执行语句2… elif 判断语句3: 执行语句3… else: 执行语句4… |
由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比”and与””or或”要优先判断。
小练习:开心消消乐
”’
小练习:开心消消乐
1、用户输入级别lv1, lv2, lv3
2、判断用户级别,lv1可以解锁100关,lv2可以解锁200关,lv3可以解锁300关
3、lv2和lv3需要充值后解锁关卡,且充值金额是100的倍数
”’
print(‘*’ * 10, ‘欢迎来到开心消消乐‘, ‘*’ * 10)
level = input(‘请输入您当前的级别(lv1, lv2, lv3): ‘)
if level == ‘lv1’:
print(‘您当前的等级为lv1,可以免费玩100关。‘)
elif level == ‘lv2’:
print(‘您当前的等级为lv2,充值后可解锁至200关。‘)
answer = input(‘您是否要充值?(y / n): ‘)
if answer == ‘y’ or answer == ‘Y’:
top_up = int(input(‘请输入充值金额(必须是100的倍数):‘))
if top_up % 100 == 0 and top_up > 0:
# 如果变量在语句的最后面调用,可以不使用占位符或.format()函数
print(‘充值成功!充值金额是:%d,购买后可解锁至200关!‘ % top_up)
else:
print(‘充值金额必须是100的倍数,请重新充值。‘)
elif answer == ‘n’ or answer == ‘N’:
print(‘放弃充值,继续当前游戏。‘)
else:
print(‘输入无效,请尝试重新输入。‘)
elif level == ‘lv3’:
print(‘您当前的等级为lv3,充值后可解锁至300关。‘)
answer = input(‘您是否要充值?(y / n): ‘)
if answer == ‘y’ or answer == ‘Y’:
top_up = int(input(‘请输入充值金额(必须是100的倍数):‘))
if top_up % 100 == 0 and top_up > 0:
print(‘充值成功!充值金额是:%d,购买后可解锁至300关!‘ % top_up)
else:
print(‘充值金额必须是100的倍数,请重新充值。‘)
elif answer == ‘n’ or answer == ‘N’:
print(‘放弃充值,继续当前游戏。‘)
else:
print(‘输入无效,请尝试重新输入。‘)
else:
print(‘输入有误,请尝试重新输入。‘)
print(‘*‘ * 15, ‘End’, ‘*‘ * 15)
小练习:猜数字,得奖品
import random # 导入随机数函数库
rand = (random.randint(1, 10)) # 不可强转为str类型,会报错TypeError: ‘str’ object is not callable
# print(‘rand = ‘, rand, type(rand))
num = int(input(‘请输入1-10之间的数:‘))
if num == rand:
print(‘恭喜中大奖啦,奖励笔记本一个!‘)
else:
print(‘很遗憾你猜错啦,与奖品擦肩而过~~~’)
print(‘rand = ‘, rand) # 如果变量在语句的最后面调用,可以不使用占位符或.format()函数