IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Learn Python with Steem #03 笔记

    Hacper\'s Blog发表于 2018-07-31 20:29:25
    love 0

    Learn Python with Steem #03 笔记


    [toc]

    划重点

    • 分支结构 Python的分支结构用if、elif、else关键字来构造,可以是多分支,也可以嵌套。

    • 代码块

      Python中用缩进的方式构造代码块,程序的层次结构一目了然。

    • 交互

      使用input()函数输入数据,实现人与程序的交互。

    编程练习

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    
    # 写作业
    
    a = float(input('Please enter the first number: '))
    b = float(input('Please enter the second number: '))
    c = float(input('Please enter the last number: '))
    
    if a > b and a > c:
        print(a)
    elif b > a and b > c:
        print(b)
    else:
        print(c)
    
    1
    2
    3
    4
    
    Please enter the first number: 55
    Please enter the second number: 99
    Please enter the last number: 22
    99.0
    

    计算busy机器人的点赞比例,这是它的js程序https://github.com/busyorg/busy-bot/

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    function getAccounts() {
      const accounts = JSON.parse(process.env.STEEM_ACCOUNTS || '[]');
    
      return accounts.map(account => ({
        username: account.username,
        wif: account.wif,
        minVests: account.minVests || 20000000,
        maxVests: account.maxVests || 4000000000000,
        limitVests: account.limitVests || 10000000000000,
        minPercent: account.minPercent || 6,
        maxPercent: account.maxPercent || 2500,
      }));
    }
    
    async function getVoteWeight(username, account) {
      const mvests = await fetch(`https://steemdb.com/api/accounts?account[]=${username}`)
        .then(res => res.json())
        .then(res => res[0].followers_mvest);
    
      if (mvests < account.minVests || mvests > account.limitVests) return 0;
    
      const percent = parseInt((10000 / account.maxVests) * mvests);
    
      return Math.min(Math.max(percent, account.minPercent), account.maxPercent);
    }
    
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    <br></br># 这算是一个实际的例子吧,把它的计算部分抽出来,
    # 用Python写一下,正好用到今天学的分支结构
    # 查看followers_mvest
    # https://steemdb.com/api/accounts?account=yjcps
    
    minVests = 20000000
    # maxVests = 4000000000000  # maxVests 不是这个值
    maxVests = 5000000000000
    limitVests = 10000000000000
    minPercent = 6 / 100
    maxPercent = 2500 / 100
    
    followers_mvest = float(input('Input your followers_mvest: '))
    # 93785952.40679602
    
    if followers_mvest < minVests or followers_mvest > limitVests:
        percent = 0
    else:
        percent = (10000 / maxVests) * followers_mvest
        percent = min(max(percent, minPercent), maxPercent) / 100
    print('Your Busy vote percent: {:.2%}'.format(percent))
    
    1
    2
    
    Input your followers_mvest: 93785952.40679602
    Your Busy vote percent: 0.19%
    

    补充

    比较运算符

    <= < > >= 小于等于,小于,大于,大于等于

    == != 等于,不等于

    逻辑运算符

    not or and 非,或,与

    空语句 pass

    pass 不是跳过某段程序的意思,它是是用来占位子的,为了让写的程序符合语法。

    pass有两个用法用:
    一是什么都不做,写个pass:

    1
    2
    
    <br></br>if True:
       pass
    

    另一个是,还没想好程序的某个功能怎么写,写个pass占位子:

    1
    2
    
    <br></br>def fun():
        pass
    

    我的笔记:

    • Learn Python with Steem #01 笔记
    • Learn Python with Steem #02 笔记


沪ICP备19023445号-2号
友情链接