python进阶----第五课(下)--for

python进阶,在第一期的基础上做了极大的优化,整体更加美观易懂

五、for循环()

内容较多,分为上下两个篇幅,此篇是下

5.4、for与while的配合使用!

else使用:当循环正常结束之后要执行的代码 ——>需要正常结束,如果不是正常结束不会执行代码

例如:

# while与else组合
j = 0
while j < 5:
    if j == 3:
        break  # break属于终止,不是正常结束,所以不会打印else
        j += 1
    print("生活不易,程序袁叹气!!!")
    j += 1
else:
    print("叹气完毕,继续肝!")
# 结果:
>>> 生活不易,程序袁叹气!!!
>>> 生活不易,程序袁叹气!!!
>>> 生活不易,程序袁叹气!!!
j = 0
while j < 5:
    if j == 3:
        j += 1  # 注意:此段j += 1的位置不同,如果此句在Continue后面,j不会自加,该程序会陷入死循环
        continue  # break属于终止,不是正常结束,所以不会打印else
    print("生活不易,程序袁叹气!!!")
    j += 1
else:
    print("叹气完毕,继续肝!")
# 结果:

>>> 生活不易,程序袁叹气!!!
>>> 生活不易,程序袁叹气!!!
>>> 生活不易,程序袁叹气!!!
>>> 生活不易,程序袁叹气!!!
>>> 叹气完毕,继续肝!

for与else组合

str1 = "狂徒张三,和帮凶李四!"
for j in str1:
    if j == "和":
        break
    print(j)
else:
    print("结束!!")
# 结果:
>>>>>>>>>>>>>>>
str1 = "狂徒张三,和帮凶李四!"
for j in str1:
    if j == "和":
        continue
    print(j)
else:  # for循环中同理,只要是遇到break那么else就不起作用,如果是continue则跳过循环,那么else后的程序会执行
    print("结束!!")
# 结果:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 结束!!

5.5、字符串和下标

字符串: 字符串是python中最常见的数据类型,我们一般使用引号来创建字符串(一般被引号引起来的内容都是字符串类型),创建字符串只要分配一个值即可

例如

name_1 = 'Ton1'
name_2 = """Ton2"""  # 三个单引号或者是三个双引号都可以
name_3 = "Ton3"
print(f"{name_1}\n{name_2}\n{name_3}")
# 结果:
>>> Ton1
>>> Ton2
>>> Ton3

下标:下标又叫索引,就是编号,比如火车站座位号,座位号的作用,按照编号快速查找到对应的座位,同理下标也是类似,通过编号快速找到相应的数据的位置

str1 = "zhangsan"  # 字母从零开始,一一对应。张三拼音共8个字母,从0开始到7结束
"""
打印张三拼音的开头首字母即z和s
"""
>>> print(str1[0])  # 写法 序列名,加下标  即序列名[下标]
>>> print(str1[5])
# 结果:
>>> z
>>> s

5.6、课外衍生扩展

非常建议此篇章多加练习,以后会经常用到while和for的

二人猜拳游戏 ,掷骰子游戏
玩家手动输入,电脑随机输入(随机模块)

# 使用模块方法,乐趣、首先使用input导入模块
# import random
# 使用模块内的功能函数->randint()
# 先导入模块,然后再模块名点需要使用的功能函数
# random.randint(0, 2)  # randint随机函数,0到2之间三个数随机

import random  # 导入模块
print("\n\n————————————有两个小游戏————————————\n乐趣、石头剪刀布\n2、骰子比大小\n\n输入开头数字即可")
num_1 = int(input("请输入:"))  # input输入的默认为字符串类型,所以加int格式化为整型
print("\n游戏开始:")
if num_1 == 1:
    computer = random.randint(0, 2)  # randint->随机函数,括号内0,1即表示0到2三个数之间随机输出一个
    print("请输入0~2之间的数")
    print("0->石头,1->剪刀,2->布\n")
    you = int(float(input("请出拳:")))  # 注意input类型为字符串,如果不转换,会导致结果不正确,其次因为题目是0到2之间,所以包含小数,于是进行去小数操作(先由字符串类型转换为浮点型再转换为整型),如果观众老爷有更好的办法欢迎留言
    print()
    # 玩家输入数字转换
    print("玩家输入:", you)
    if you == 0:
        print("自动转换->玩家出石头")
    elif you == 1:
        print("自动转换->玩家出剪刀")
    elif you == 2:
        print("自动转换->玩家出布")
    else:
        print("输入错误,请重新运行程序并且输入")  # 输入数据不在0到2之间
    # 电脑随机数字转换
    print("电脑输出", computer)
    if computer == 0:
        print("0代表石头,并自动转换为石头")
    elif computer == 1:
        print("1代表剪刀,并自动转换为剪刀")
    else:
        print("2代表布,并自动转换为布")
    # 判断输赢 ->核心代码  # 石头剪刀布只有3种结果,平局,然后就是输赢,只要先把玩家赢的可能性写出来,然后去掉平手的可能性,其余的只有输入错误或者是输
    if (you == 0 and computer == 1) or (you == 1 and computer == 2) or (you == 2 and computer == 0):
        print("玩家胜利")
    elif you == computer:
        print("本局平局")
    elif you > 2 or you < 0:
        print("玩家输入错误,本局不计入成绩,请重新运行该程序,输入数据在0到2之间!!!")
    else:
        print("电脑胜利")
    # 游戏结束
    print("游戏结束!")
    
# 骰子数字比大小
elif num_1 == 2:
    print("请输入1到6之间的整数,包括1和6\n")
    computer_1 = random.randint(0, 5)  # 括号内可以直接是1, 6 但是奉行计算机都是从0开始计数原则,于是宁可麻烦一点点也要“从零开始”
    You_1 = int(input("请输入:"))  # 大于,小于,等于,输入错误例如输入7
    print()
    computer_1 += 1
    if You_1 > 6 or You_1 < 1:  # 题目已说明 1到6之间整数,但是输入小于1大于6的数依然会出问题,为遵守游戏规则,加限制条件
        print("您输入的数字为%d\n亲爱的玩家,您输入的数字小于1或者大于6,请重新运行该程序,再次输入!" % You_1)
    elif computer_1 < You_1:
        print("玩家输入骰子数字为:%d\n电脑随机生成骰子数字为:%d\n %d > %d -->玩家获胜" % (You_1, computer_1, You_1, computer_1))
    elif computer_1 > You_1:
        print("您输入的数字为: %d\电脑生成的数字为:%d\n %d > %d -->电脑获胜" % (You_1,  computer_1, computer_1, You_1))
    else:
        computer_1 == You_1
        print("玩家输入骰子数字为%d\n电脑生成随机骰子数字为%d\n真巧,数字一样,平手" % (You_1, computer_1))
    print("游戏结束!")
#
else:
    print("请输入1或2哦 !")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值