Python -函数

定义函数

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('你已破产,游戏结束!')
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确...
    齐天大圣李圣杰阅读 1,661评论 0 2
  • 本章将介绍函数中参数的用法,更多内容请参考:Python学习指南 定义函数的时候,我们把参数的名字和位置确定下来,...
    小七奇奇阅读 271评论 0 2
  • 本文翻译自Functional Programming Howto 本文将介绍Python中函数式编程的特性。在对...
    大蟒传奇阅读 2,777评论 4 14
  • 已经不是第一次读蝴蝶兰《全职高手》这本书了,还记得当初读这本书时还是三年前,虽然还是一如既往的感动,但是比第...
    月落流年阅读 925评论 9 15
  • 好久没有拔丝爆米花了,想起明天公司的集体观影就如实的操作了起来。如果有兴趣的童鞋可以照此方法做。 步骤如下...
    阿里Alex阅读 610评论 5 5

友情链接更多精彩内容