Python基础语法_Day07

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

上一篇:Java 基础day07 面向对象 类与对象


下一篇:Java复习Day07