39-澳门赌场游戏
1. 欢迎进入xxxx游戏
2. 输入用户名,默认用户是没有币
3. 提示用户充值买币(100块钱30币,充值必须是100的倍数,充值不成功可以再次充值)
4. 玩一局游戏扣除2个币,猜大小(系统用随机数模拟骰子产生值)
5. 只要猜对了奖励1个币,可以继续玩(想不想继续玩,也可以没有金币自动退出)
import random print('*'*30) print('欢迎进入澳门赌场') print('*'*30) username = input('请输入顾客大名:') money = 0 answer = input('确定进入游戏吗(y/n)?') if answer=='y': # 判断游戏币是否充足 # 做到反复充值 while money<2: n = int(input('金币不足,请充值(100块钱30币,充值必须是100的倍数):')) # 充值金额判断 if n%100==0 and n>0: money=(n//100)*30 print('当前剩余游戏币是:{},玩一局游戏扣除2个币'.format(money)) print('进入游戏...........') while True: # False # 模拟骰子 产生骰子的值 t1 = random.randint(1,6) t2 = random.randint(1,6) # 两个骰子的值大于6 --->大, 否则就是小 money-=2 # 扣除金币 print('系统洗牌完毕,请猜大小:') guess = input('输入大或者输入小:') # 判断: 大小 if ( (t1+t2)>6 and guess=='大' ) or ((t1+t2)<=6 and guess=='小'): print('恭喜{}! 本局游戏获奖励1个游戏币!'.format(username)) money +=1 else: print('很遗憾!骰子是:{}和{},本局游戏输啦┭┮﹏┭┮'.format(t1,t2)) answer = input('剩余游戏币{},是否继续再来一局游戏,要扣除2枚游戏币?(y/n)'.format(money)) if answer!='y' or money < 2: print('退出游戏啦!!!!!') break"
40-测试题讲解+补充
# sum=0 # for i in range(1,51): # 0~49 # # b=0 # # b+=i # # sum =0 # if i%2==0: # sum+=i # print('sum=',sum) # print('完成for循环之后i的值是:',i) # print('b====>',b)" "目的: 1.声明变量的位置:声明在for,while的外层,sum+=i 相当于累加,如果放在for,while循环的内层 相当于每次循环都会执行sum=0 2. python 在for,while循环中没有变量的作用域。 在for,while循环结构的外层都可以获取值" 使用while循环实现输出1-50之间偶数 的和 "# sum = 0
# i = 1 # while i<=50: # # print(i) # if i%2==0: # sum +=i # i+=1 # print('sum=',sum)" continue:不进行continue下方的语句,继续循环上方面一套语句 "# 方式二: sum =0 for i in range(10): # 0~9 # 任务1 if i%3==0: # pass break continue # break # 跳出整个for循环结构 continue # 跳过循环体中下方的语句不执行,直接进行下一次的循环 # 任务2 sum+=i print('sum-----2222->',sum)" "# 方式一: sum = 0 for i in range(10): if i%3!=0: sum+=i print('sum-----1111->',sum)"
41-字符串运算符
三引号占用的内存空间与单双引号的不同(前提:'''的内容不在一行上
"# print(s1 == s2) # 比较的是内容 # print(s1 is s2) # 比较的是地址" "# print(s1 == s2) # True # print(s1 is s2) # False # (常量赋值is是True,input输入底层做了处理所以最后的地址是不一样的)"
字符串的运算符
# s3 = s1+s2 # + 相当于拼接符 # s4 = s1 * 5 # 倍数" "# in 在...里面 name ='steven' result = 'eve' in name # 返回值是布尔类型 True False print(result) # not in 没有在...里面 result = 'tv' not in name # 返回值是布尔类型 True False print(result)"
[]获取指定位置字母,只能获取一个字母,位置从零开始 "# [] [start:end]
filename = 'picture.png' # 位置都是从0开始,位置也会称作下标或者索引 print(filename[5]) # 通过[] 可以结合位置 获取字母 特点: 只能获取一个字母" :包前不包后,截取字串符,可以省略[3:] or [:7} "# range(1,10) --类似--> [1:10] print(filename[0:7]) # 包前不包后 print(filename[3:7]) # 截取字符串 # 省略 print(filename[3:]) # 只要省略的是后面的,表示一直取到字符串的末尾 print(filename[:7]) # 只要省略的是前面的,表示从0开始取值 # 负数 print(filename[8:-1]) print(filename[:-2]) print(filename[-1:]) print(filename[-5:-1]) print(filename[10:0])"
42-字符串逆序和练习
[::]带上-1代表倒叙,数字范围从大到小,只要方向确定了位数正负都一样,最右边的数确定方向和步长 "# [::-1] 倒叙
# str1=‘abcdefg’ print(filename[::-1]) str1 ='abcdefg' print(str1[-1:-5:-1]) # gfed print(str1[5:0:-1]) # 逆向取值 print('---->',str1[5:0:1])# 空的,没有取到值 print(str1[::-1])" "# 练习: hello world # 逆序输出world: ---> dlrow # 正向输出hello # 逆序输出整个hello world # 打印获取oll # 打印llo wo" "s1 = 'hello world' print(s1[-1:-6:-1]) print(s1[:5]) print(s1[::-1]) print(s1[4:1:-1]) print(s1[2:-3]) # s1[2:8] # print(s1[::-2]) s2 = '你好呀哈哈哈' print(s2[1:3])"
" str[start:end:方向和步长]
方向: 1 表示从左向右 0,1,2,3,4,5。。。
-1 表示从右向左
注意数值的顺序
比如: 正向: 5:0 就不行了
反向: 5:0 就可以取到值
Python 字符串直接在方括号([])中使用索引即可获取对应的字符,
字符串中第一个字符的索引为 0、第二个字符的索引为 1,后面各字符依此类推。
此外,Python 也允许从后面开始计算索引,最后一个字符的索引为 -1,
倒数第二个字符的索引为 -2······依此类推。"