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······依此类推。"