还不够好 发表于 2020-8-8 16:14:08

python几个问题


最近几个问题请教大家,我会尽快采纳优质答案

1."""十进制二进制转化"""

def Dec2bin(dec):
    result = " " #这为啥是空的,是先赋值防止无意义吗
    if dec:
      result = dec // 2
      return result + str (dec%2) #除2取余后的余数是dec%2,str应该是字符拼接吧,把01拼成一个数,我搞不清楚这个result在这里是什么作用
    else:
      return result


2.   print("一共有%d个"%x)
      print("一共有"+x+"个")

这两个有什么区别吗?

3.发现有微信公众号抄袭小甲鱼的付费内容该怎么办,要报警吗?

永恒的蓝色梦想 发表于 2020-8-8 16:21:17

我搞不清楚这个result在这里是什么作用这个 result 就是什么用也没有,写成def Dec2bin(dec):
    if dec:
      return str(dec // 2) + str (dec%2)
    else:
      return ''也一样
print("一共有%d个"%x)
      print("一共有"+x+"个")没区别
来这反馈:
https://fishc.com.cn/forum-26-1.html

sunrise085 发表于 2020-8-8 16:37:51

1. 你的程序是有问题的
result先赋初值为"",是因为后面的else中有直接 return result,若result从未赋值,就会报错。
你的第6行给result重新赋值了,result就变成数字了,然后第7行有result+str (dec%2),就会报错,因为类型不一样。

2.若x是个数字变量,第二句会报错,因为不同类型不能相加,若x是字符串,则不会报错
print("一共有%d个"%x)
可以写成
print("一共有",x,"个")
但是两者有一点区别,第二种写法,x两侧各有一个空格,因为print函数有个关键字参数sep,作用就是定义各个参数之间的间隔字符,默认值是空格。第二种写法实际上相当于是print中有三个参数,第一个和第三个分别是字符串,第二个是个数字

3.这种情况报警没用,可以在论坛上投诉区发个帖子说一下,这种盗版问题,个人也解决不了。

陈尚涵 发表于 2020-8-8 17:11:48

sunrise085 发表于 2020-8-8 16:37
1. 你的程序是有问题的
result先赋初值为"",是因为后面的else中有直接 return result,若result从未赋值 ...

重要的是这第3个问题让我{:10_250:}
页: [1]
查看完整版本: python几个问题