WXF666 发表于 2019-11-4 21:13:29

017课后

017课后作业不理解小甲鱼老师pop删除了什么,自己写了个代码也能运行出结果,但是由于不会字符串直接逆向表示,导致步骤很繁琐{:5_99:} 。。

def binn(num):
    result = ""
    while num:
      if num % 2 == 0:
            result = result + "0"
            num = num // 2
            continue
      else:
            result = result + "1"
            num //= 2
            continue
    list1 = list(result)
    list1.reverse()
    for each in list1:
      print(each,end="")

ba21 发表于 2019-11-4 22:03:56

那就拜托把小甲鱼老师的代码也上上来。不比效,难不成还要别人去找?

jackz007 发表于 2019-11-4 22:18:01

      字符串逆序?
s = 'ABC'
s[::-1] 就是逆序
      楼主的代码太繁琐了,也太不 Pythonic 了吧!
def binn(num):
    result = ""
    while num:
      result = str(num % 2) + result
      num //= 2
    return result
print(binn(62))


WXF666 发表于 2019-11-4 22:32:15

ba21 发表于 2019-11-4 22:03
那就拜托把小甲鱼老师的代码也上上来。不比效,难不成还要别人去找?

我的

WXF666 发表于 2019-11-4 22:32:49

本帖最后由 WXF666 于 2019-11-4 22:37 编辑

jackz007 发表于 2019-11-4 22:18
字符串逆序?

      楼主的代码太繁琐了,也太不 Pythonic 了吧!

好的谢谢!为什么你的答案出来就是逆序了,这str是往前+的吗?

jackz007 发表于 2019-11-4 22:50:03

WXF666 发表于 2019-11-4 22:32
好的谢谢!为什么你的答案出来就是逆序了,这str是往前+的吗?

      没错,字符串元素就是看怎么加了
      这么加是正序
result = str(num % 2) + result
      这么加就是反序
result = result + str(num % 2)

WXF666 发表于 2019-11-5 11:06:54

jackz007 发表于 2019-11-4 22:50
没错,字符串元素就是看怎么加了
      这么加是正序



牛逼噢
页: [1]
查看完整版本: 017课后