定义函数
def 函数名 (参数):
#参数可以是零个到多个
语句
return 变量
#返回语句可有可无,
#返回的参数可以是一个也可以是多个
#如果有返回值可以直接输出,没有返回值的函数必须用语句调用
def gcd(x, y):
#常用的文档注释
"""
最大公约数
:param x:一个正整数
:param y: 一个正整数
:return: 两个正整数的最大公约数
"""
(x, y) = (y, x) if x > y else (x, y)
for num in range(y, 0, -1):
if x % num == 0 and y % num == 0:
return num
# max_gcd = 1
# for num in range(min(x, y), 1, -1):
# if x % num == 0 and y % num == 0:
# max_gcd = num
# return max_gcd
# return 1
def lcm(x, y):
#google文档注释
"""
最小公倍数
Parameters:
x - 一个正整数
y - 一个正整数
Returns:
两个整数的最小公倍数
"""
return (x * y) // gcd(x, y)
# min_lcm = x * y
# for num in range(min(x, y), x * y + 1):
# if num % x == 0 and num % y == 0:
# min_lcm = num
# return min_lcm
#通过下面的if条件可以在导入模块的时候不去执行下面的代码
if __name__ == '__main__':
print(gcd(4, 18), gcd(2, 7), gcd(16, 4))
print(lcm(6, 9), lcm(3, 6), lcm(3, 17))
调用函数
- 同一个程序中调用函数,并且定义的函数必须放在调用函数之前
调用形式:函数名(参数)
- 在另一个文件夹下调用函数,调用形式:在程序中导入函数模块,再用文件名.函数名
'''
规则:玩家掷两个骰子,每个骰子点数为1-6,
如果第一次点数和为7或11,则玩家胜;
如果点数和为2、3或12,则玩家输庄家胜。
若和为其他点数,
则记录第一次的点数和,玩家继续掷骰子,直至点数和等于第一次掷出的点数和则玩家胜;
若掷出的点数和为7则庄家胜。
'''
from random import randint
play_score = 1000
# contry_score = 50000
while play_score > 0:
print('玩家总资产:', play_score)
while True:
score = int(input('请下注:'))
if 0 < score <= play_score:
break
play = randint(1, 6)
contry = randint(1, 6)
first_point = play + contry
go_on = False
if first_point == 7 or first_point == 11:
print('玩家摇出了%d点:' % first_point)
print('玩家胜!')
play_score += score
# contry_score -= score
elif first_point == 2 or first_point == 3 or first_point == 12:
print('玩家摇出了%d点:' % first_point)
print('庄家胜!')
play_score -= score
# contry_score += score
else:
go_on = True
while go_on:
play = randint(1, 6)
contry = randint(1, 6)
current_point = play + contry
if current_point == first_point:
print('玩家第一次摇出了%d点:' % first_point)
print('玩家第二次摇出了%d点:' % current_point)
print('玩家胜!')
play_score += score
# contry_score -= score
go_on = False
elif current_point == 7:
print('玩家第一次摇出了%d点:' % first_point)
print('玩家第二次摇出了%d点:' % current_point)
print('庄家胜!')
play_score -= score
# contry_score += score
go_on = False
# if play_score == 0 or contry_score == 0:
# print('玩家剩的钱数:¥%d' % play_score)
# print('庄家剩的钱数:¥%d' % contry_score)
# break
# while True:
# number = int(input('玩家是否还要继续玩?1表示是 or 0表示否:'))
# if number == 1 or number == 0:
# break
# else:
# print('请重新输入')
# if number == 0:
# print('玩家剩的钱数:¥%d' % play_score)
# print('庄家剩的钱数:¥%d' % contry_score)
# break
print('你已破产,游戏结束!')
网友评论