鱼C论坛

 找回密码
 立即注册
查看: 187|回复: 14

[见证历程] 开始征途

[复制链接]
最佳答案
1 
发表于 2019-8-8 07:52:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一元二次方程的求解。排除非二次方可能
import math
#求解方程ax^2+bx+c=0
'''常规二次一元方程的解为
x1=(b+sqrt(b^2-4ac))/2a
x2=(b-sqrt(b^2-4ac))/2a
'''
def trans_int(num):
    try :
        num=int(num)
       # x=1/num
        return num
    except (ValueError,ZeroDivisionError):  #如果加上x=1/num,排除系数为0的可能
        print(num+'是非法参数,非数字')
        num=input('请重新输入合法数字:')
        return trans_int(num)
    #return num
a = input('输入二次项系数a:')
a = trans_int(a)
if a==0:
    print('非二次方程')
    exit()
b = input('输入一次项系数b:')
b = trans_int(b)
c = input('输入常数项c:')
c = trans_int(c)
#print('二次项系数是:'+str(a),'一次项系数是:'+str(b),'常数项是:'+str(c))
'''====================================================================================
#使用判断方法
temp=b**2-4*a*c
m=-b/2*a
if temp == 0:
    print('方程有两个相同的解:'+str(m))
else:
    if temp >= 0:
        temp=math.sqrt(temp)
        temp=temp/2*a
        x1=m+temp
        x2=m-temp
    else:
        temp=abs(temp)
        temp=math.sqrt(temp)
        temp=temp/a*2
        x1=complex(m,temp)
        x2=complex(m,-temp)
    #temp=math.sqrt(temp)
    print('方程的第一个解:'+str(x1),'方程的第二个解:'+str(x2))
======================================================================================='''
#使用try方式
m=-b/2*a
try:
    temp=b**2-4*a*c
    1/temp
    temp=math.sqrt(temp)
    temp=temp/2*a
    x1=m+temp
    x2=m-temp
    print('方程的第一个解:'+str(x1),'方程的第二个解:'+str(x2))
except ZeroDivisionError:
    print('方程有两个相同的解:'+str(m))
except ValueError:
    temp=abs(temp)
    temp=math.sqrt(temp)
    temp=temp/a*2
    x1=complex(m,temp)
    x2=complex(m,-temp)
    print('方程的第一个解:'+str(x1),'方程的第二个解:'+str(x2))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
836 
发表于 2019-8-8 08:09:18 | 显示全部楼层
原谅我是小学生,看不懂

  1. 输入二次项系数a:5
  2. 输入一次项系数b:6
  3. 输入常数项c:7
  4. 方程的第一个解:(-15+4.079215610874227j) 方程的第二个解:(-15-4.079215610874227j)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
 楼主| 发表于 2019-8-8 08:21:02 | 显示全部楼层
刚刚想到,如果将int改为float,那么输入系数就可以是小数了
def trans_int(num):
    try :
        num=float(num)
       # x=1/num
        return num
    except (ValueError,ZeroDivisionError):  #如果加上x=1/num,排除系数为0的可能
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
 楼主| 发表于 2019-9-3 08:19:22 | 显示全部楼层
  1. #import time
  2. import re   #导入正则
  3. def newreserve(num):        #数字反转方法
  4.     listnum=[]
  5.     flag=''     #默认为无符号
  6.     strnum=str(num)
  7.     #print(strnum)
  8.     for index in range(len(strnum)):
  9.         listnum.append(strnum[index])  
  10.     if num<0:       #有符号,需要考虑符号后变换
  11.         flag=listnum.pop(0)
  12.     listnum.reverse()       #列表反向
  13.     result=flag
  14.     for index in range(len(listnum)):
  15.         result+=listnum[index]
  16.     if int(result)<(-2**31) or int(result)>(2**31-1):
  17.         return 0
  18.     else :
  19.         return int(result)
  20. #print(newreserve(-2012390011284))
  21. #print(newreserve(321))
  22. '''
  23. 1、写一个矩形类,默认有宽和高两个属性
  24. 2、如果为一个叫square的属性赋值,那么说明这是一个正方形,值就是正方形的边长,此时宽和高都应该等于边长
  25. '''
  26. class rectangle:
  27.     def __init__(self,width,height):
  28.         self.width = width
  29.         self.height = height
  30.     def __setattr__(self,name,value):       #设置新属性
  31.         if name == 'square':         #如果新属性名称是’square'
  32.             self.width = value
  33.             self.height = value
  34.         else:
  35.             #self.name = value       #这样存在赋值,就会调用__setattr__(self,name,value),自己调用自己进入死循环
  36.             super().__setattr__(name,value)     #方式一:调用基类赋值,推荐使用此方式
  37.             self.__dict__[name] = value         #方式二
  38.     def getarea(self):
  39.         return self.width * self.height
  40. #给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。
  41.       
  42. def fmatch(str1):       #在一个字符串中查找目标字符串
  43.     str2=str1       #保留原字符串
  44.     #re.match(pattern,string) 从string的开始匹配pattern,如果开始不能匹配返回none
  45.     #re.search(pattern,string)从整个string中匹配pattern,直到匹配上
  46.     while re.findall('\(\)',str2) !=[]:      #判断str2中是否存在'()'
  47.         str2=str2.replace('()','X')            #将‘()'替换为’X‘
  48.     list1=re.findall('X+',str2)
  49.     list1.sort()
  50.     return len(list1[-1])
  51. print(fmatch('(())()()((()))))(()()()))(()'))
  52. '''
  53. 先定义一个温度的类,然后定义两个描述符类用于描述摄氏度和华氏度两个属性
  54. 要求两个属性会自动进行转换,也就是说你可以给摄氏度这个属性赋值,然后打印的华氏度属性是自动转换后的结果
  55. '''
  56. class Stemp:
  57.     def __init__(self,value=25):
  58.         self.value=float(value)
  59.     def __set__(self,instance,value):
  60.         self.instance=float(value)
  61.     def __get__(self,instance,owner):
  62.         return self.instance
  63. class Ftemp:
  64.     def __set__(self,instance,value):
  65.         instance.st=(float(value)-32)/1.8
  66.     def __get__(self,instance,owner):
  67.         return instance.st * 1.8 +32
  68. class Temperature:
  69.     def __init__(self,value,M):
  70.         if M=='C':
  71.             self.st=value
  72.         else:
  73.             self.ft=value
  74.     st=Stemp()
  75.     ft=Ftemp()
  76.    
复制代码


劳动节过完了。继续。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
 楼主| 发表于 2019-9-4 01:42:13 | 显示全部楼层
这是一个魔法方法,可以统计每一个列表元素被访问次数
  1. class Mylist():
  2.     def __init__(self,*args):
  3.         self.values = [x for x in args]
  4.         self.count = {}.fromkeys(range(len(self.values)),0)  #将列表index为字典key并赋值0
  5.     def __getitem__(self,item):     #item为列表项的index
  6.         self.count[item] +=1
  7.         return self.values[item]
  8.     def __setitem__(self,item,value):
  9.         self.values[item]=value
  10.     def __delitem__(self,item):
  11.         #length=len(self.values)     #原列表长度
  12.         self.values.pop(item)
  13.         for index in range(item,len(self.values)):  #统计对象刷新
  14.             self.count[index]=self.count[index+1]
  15.         self.count.pop(index+1)     #删除对已删除对象的统计
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
 楼主| 发表于 2019-9-4 06:10:01 | 显示全部楼层
本帖最后由 lucky邪神 于 2019-9-19 12:14 编辑

关于正则的,用 () 来划定原字符串的组,{} 中表示数字的个数,r 即后面的字符串为原始字符串,防止计算机将 \ 理解为转义字符,2,3,1 为输入的字符串三段的序号。
  1. s = '2017-11-27'
  2. import re
  3. print(re.sub('(\d{4})-(\d{2})-(\d{2})',r'\2/\3/\1', s))
复制代码


IP地址的查找,列举:
二进制:11111111111111111111111111111111
      分为四部分:11111111.11111111.11111111.11111111
      转化:2^7+2^6+2^5+2^4+2^3+2^2+2^1+2^0=255
      转为十进制范围:0~255.0~255.0~255.0~255
      这就是IP地址的范围。
      根据这个生成IP的规则和范围,我们可以用正则表达式来匹配出IP地址,但怎么匹配呢?各人有各人的方法,这里我讲解一下我的思路。
      根据IP地址的字符串规律,我把匹配IP地址的表达式分为两部分来考虑。
      第一部分:匹配3个0~255.(注意后面的一个点)
      第二部分:匹配最后的数字0~255
      也就是说,先匹配出 0~255.(注意后面的一个点) 这个字符串,然后重复匹配3次,然后再匹配最后的数字部分0~255。这就是我匹配IP地址的思路。
       首先,我要提一下,正则是没有办法做数字运算的,所以,我们无法用数字运算的方式筛选出IP的数字范围。既然没法用数字运算的方式筛选出IP的数字范围,那么我们应该用什么其他方式来筛选这个数字范围呢?我的思路是分组讨论,然后再把这些分组合并起来组成IP的数字范围。
       ①、假设IP的数字是百位数,那么根据IP的数字范围,我们可以得出下面几种情况。假设第一个数字为1,那么这个数字的范围就为1[0-9][0-9]。这个应该不难理解,就不解释。
      ②、假设第一个数字为2,那么根据IP数字的范围规则,这里又要分为两种情况,为什么?你想想,最大数字是255,当十位数为5时,个位数最大只能为5是吧?而当十位数为0到4时,个位数可以是任意数字对吧?
      所以,这里的两种情况分别为:
           A、2[0-4][0-9]
           B、25[0-5]
       ③、分析完了百位数的情况,接下来就是十位数的情况了,假如是十位数,那么十位数的前面第一个数不能为零是吧?
所以十位数的情况可以是:[1-9][0-9]
       ④、剩下的就是个位数的情况了,个位数的情况,大家应该很容易得出结论,就是:[0-9]。
       四种情况分析下来,我们得出了IP数字的范围分组为:
        1[0-9][0-9]
        2[0-4][0-9]
        25[0-5]
        [1-9][0-9]
        [0-9]
       怎么把上面的分组用正则表达式表示出来呢?很简单,用正则的或符号|和分组符号()就可以了,所以上面的分组正则表达式为:
(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5])|([1-9][0-9])|([0-9])

写到这里,数字的匹配范围正则表达式已经写好了,那么根据我前面的思路: 第一部分:匹配3个0~255.(注意后面的一个点)
         第二部分:匹配最后的数字0~255
        我们来匹配IP地址的第一部分,正则表达式如下: 
(1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.)|([1-9][0-9]\.)|([0-9]\.)
 我在每个数字的后面加了一个点就是匹配出0~255.(注意后面的一个点)
         那么怎么重复匹配三次呢?很简单,我们只要把这五个分组当成整体,再重复匹配三次就行了,正则表达式如下: 
((1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.)|([1-9][0-9]\.)|([0-9])\.)){3}
第一部分已经匹配出来了,接下来就是拼接上第二部分的数字了,数字部分上面已经写得很清楚了,就不再解释了,下面是完整的正则表达式:
((1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.)|([1-9][0-9]\.)|([0-9]\.)){3}((1[0-9][0-9])|(2[0-4][0-9])|(25[0-5])|([1-9][0-9])|([0-9]))

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
 楼主| 发表于 2019-9-4 07:24:47 | 显示全部楼层
python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
 楼主| 发表于 2019-9-5 03:34:39 | 显示全部楼层
本帖最后由 lucky邪神 于 2019-9-5 13:19 编辑

关于迭代器:iter()和next()
把一个类作为一个迭代器使用需要在类中实现两个方法 __iter__() 与 __next__()
__iter__() 方法返回一个特殊的迭代器对象, 这个迭代器对象实现了 __next__() 方法并通过 StopIteration 异常标识迭代的完成。
__next__() 方法会返回下一个迭代器对象。
例如一个数按步进增加:
  1. class hk:
  2.     def __init__(self,a,b):
  3.         self.num=a
  4.         self.step=b
  5.     def __iter__(self):
  6.         return self
  7.     def __next__(self):
  8.         self.num=self.num+self.step
  9.         print(self.num)
  10.         return self.num
复制代码


关于yield,在 Python 中,使用了 yield 的函数被称为生成器(generator),跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作.
  1. def fibonacci(n): # 生成器函数 - 斐波那契
  2.     a, b, counter = 0, 1, 0
  3.     while True:
  4.         print('if比较的counter是:%d'%counter)
  5.         if (counter > n):            
  6.             return
  7.         yield a
  8.         yield b
  9.       
  10.         print('yield后的a是:%d'%a)
  11.         a, b = b, a + b
  12.         counter += 1
  13. f = fibonacci(10) # f 是一个迭代器,由生成器返回生成

  14. while True:
  15.     try:
  16.         print (next(f), end="*_* ")
  17.     except StopIteration:
  18.         break
复制代码

运行结果如下:
if比较的counter是:0
0*_* 1*_* yield后的a是:0
if比较的counter是:1
1*_* 1*_* yield后的a是:1
if比较的counter是:2
1*_* 2*_* yield后的a是:1
if比较的counter是:3
2*_* 3*_* yield后的a是:2
if比较的counter是:4
3*_* 5*_* yield后的a是:3
if比较的counter是:5
5*_* 8*_* yield后的a是:5
if比较的counter是:6
8*_* 13*_* yield后的a是:8
if比较的counter是:7
13*_* 21*_* yield后的a是:13
if比较的counter是:8
21*_* 34*_* yield后的a是:21
if比较的counter是:9
34*_* 55*_* yield后的a是:34
if比较的counter是:10
55*_* 89*_* yield后的a是:55
if比较的counter是:11

结果说明:在print (next(f), end="*_* ")执行时,首先调用了next(f),接着是f = fibonacci(10)
fibonacci(10)运行:第一个输出是print('if比较的counter是:%d'%counter),接着遇到yied a,即return a。 print (next(f), end="*_* ")输出此时a的值0并以*_*结尾
while True判断再次执行print (next(f), end="*_* "):调用next(f),根据上一次循环 fibonacci(10)运行到yield a,从此处继续执行接着就是yield b,即return b。 print (next(f), end="*_* ")输出此时b的值1并以*_*结尾

第三次while True:执行print (next(f), end="*_* "):调用next(f),根据上一次循环 fibonacci(10)运行到yield b,从此处继续执行接着就是一个输出print('yield后的a是:%d'%a),继续执行,a,b=1,1,counter=1
                         fibonacci(10)中的while True继续执行,一个输出print('if比较的counter是:%d'%counter),继续遇到yied a,即return a。 print (next(f), end="*_* ")输出此时a的值1并以*_*                                结尾
第四次while True:重复第二次那样的操作
第五次while True:类似第三次那样的操作
直至fibonacci(10)中if(counter>10)成立。停止


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
 楼主| 发表于 2019-9-19 11:41:30 | 显示全部楼层
  1. import urllib.request
  2. import urllib.parse
  3. import json
  4. import easygui
  5. import tkinter
  6. title='YD Translate Dict'
  7. def gettext():
  8.     text1=win1.get('0.0','end')
  9.     return text1
  10. def clearbox():
  11.     win1.delete('0.0','end')
  12.     win2.delete('0.0','end')
  13. def translation():
  14.     url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
  15.     headers={}
  16.     headers['User-Agent']='Mozilla/5.0 (Windows NT 10.0; Win64; x64)\
  17.     AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 \
  18.     Safari/537.36 Edge/17.17134'
  19.    
  20.     data={}
  21.     data['doctype']='json'
  22.     data['from']='AUTO'
  23.     data['i']=gettext().strip()
  24.     data['keyfrom']='fanyi.web'
  25.    
  26.     if data['i'].strip()=='':       #如果没有输入时
  27.         win2.delete('0.0','end')
  28.     else:
  29.        #resdata=urllib.parse.urlencode(data).encode('utf-8')
  30.         resdata=urllib.parse.urlencode(data)
  31.         resdata=resdata.encode('utf-8')
  32.        #打开页面,发送请求
  33.         response=urllib.request.urlopen(url=url,data=resdata)
  34.         '''
  35.         res=urllib.request.request(url,resdata,headers)
  36.         res.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134')
  37.         response=urllib.request.urlopen(res)
  38.         '''
  39.        #获取响应,提取翻译的结果
  40.         htlm=response.read().decode('utf-8')
  41.         htlm=json.loads(htlm)['translateResult']
  42.         
  43.         htlm=htlm[0]
  44.         length = len(htlm)
  45.         win2.delete('0.0','end')
  46.         for index in range(length):
  47.             result=htlm[index]
  48.             
  49.             result=result['tgt']
  50.             
  51.             #win2.delete('0.0','end')
  52.             win2.insert('end',result)
  53. ydw=tkinter.Tk(className=title)
  54. #输入对话框
  55. win1=tkinter.Text(ydw,bg='green',cursor='arrow',width=100,height=10)
  56. win1.grid(padx=10)
  57. #翻译按钮
  58. button=tkinter.Button(ydw,text='翻译',command=translation)
  59. button.grid(row=5,column=0)
  60. button2=tkinter.Button(ydw,text='清空',command=clearbox)
  61. button2.grid(row=5,column=1)
  62. #翻译输出对话框
  63. win2=tkinter.Text(ydw,width=100,height=10)
  64. win2.grid(row=7)
复制代码

这几天好疲惫啊,不想动,希望快点回国
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
 楼主| 发表于 2019-9-25 01:44:52 | 显示全部楼层
这两天只是做做每日一题,明天就可以回国了。想弄清楚怎么装载需要装的东西或是库
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
 楼主| 发表于 2019-9-28 22:09:15 | 显示全部楼层
刚回国,这两天调整下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
 楼主| 发表于 2019-10-18 22:06:09 | 显示全部楼层
今天武汉军运会开幕,第一次收到一个最佳答案,大受鼓舞。努力继续加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
 楼主| 发表于 2019-11-4 21:36:17 | 显示全部楼层
好久没有上了,最近考虑买车,挑懵了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
 楼主| 发表于 2019-11-12 21:17:19 | 显示全部楼层
本帖最后由 lucky邪神 于 2019-11-12 22:10 编辑

今天在电脑上安装了GPIB的驱动,开始尝试学习控制测试设备,目前了解的第三方模块是pyvisa

>>> import pyvisa
>>> tm=pyvisa.ResourceManager()
>>> tm1=tm.list_resources()
>>> tm1
()
>>> tm.open_resource()

打开本地路径/文件

>>> import tkinter
>>> file=tkinter.filedialog.askopenfile()
>>> dir(tkinter.filedialog)
['ACTIVE', 'ALL', 'ANCHOR', 'ARC', 'BASELINE', 'BEVEL', 'BOTH', 'BOTTOM', 'BROWSE', 'BUTT', 'BaseWidget', 'BitmapImage', 'BooleanVar', 'Button', 'CASCADE', 'CENTER', 'CHAR', 'CHECKBUTTON', 'CHORD', 'COMMAND', 'CURRENT', 'CallWrapper', 'Canvas', 'Checkbutton', 'DISABLED', 'DOTBOX', 'Dialog', 'Directory', 'DoubleVar', 'E', 'END', 'EW', 'EXCEPTION', 'EXTENDED', 'Entry', 'Event', 'EventType', 'FALSE', 'FIRST', 'FLAT', 'FileDialog', 'Frame', 'GROOVE', 'Grid', 'HIDDEN', 'HORIZONTAL', 'INSERT', 'INSIDE', 'Image', 'IntVar', 'LAST', 'LEFT', 'Label', 'LabelFrame', 'Listbox', 'LoadFileDialog', 'MITER', 'MOVETO', 'MULTIPLE', 'Menu', 'Menubutton', 'Message', 'Misc', 'N', 'NE', 'NO', 'NONE', 'NORMAL', 'NS', 'NSEW', 'NUMERIC', 'NW', 'NoDefaultRoot', 'OFF', 'ON', 'OUTSIDE', 'Open', 'OptionMenu', 'PAGES', 'PIESLICE', 'PROJECTING', 'Pack', 'PanedWindow', 'PhotoImage', 'Place', 'RADIOBUTTON', 'RAISED', 'READABLE', 'RIDGE', 'RIGHT', 'ROUND', 'Radiobutton', 'S', 'SCROLL', 'SE', 'SEL', 'SEL_FIRST', 'SEL_LAST', 'SEPARATOR', 'SINGLE', 'SOLID', 'SUNKEN', 'SW', 'SaveAs', 'SaveFileDialog', 'Scale', 'Scrollbar', 'Spinbox', 'StringVar', 'TOP', 'TRUE', 'Tcl', 'TclError', 'TclVersion', 'Text', 'Tk', 'TkVersion', 'Toplevel', 'UNDERLINE', 'UNITS', 'VERTICAL', 'Variable', 'W', 'WORD', 'WRITABLE', 'Widget', 'Wm', 'X', 'XView', 'Y', 'YES', 'YView', '_Dialog', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'askdirectory', 'askopenfile', 'askopenfilename', 'askopenfilenames', 'askopenfiles', 'asksaveasfile', 'asksaveasfilename', 'commondialog', 'constants', 'dialogstates', 'enum', 'fnmatch', 'getboolean', 'getdouble', 'getint', 'image_names', 'image_types', 'mainloop', 'os', 're', 'sys', 'test', 'wantobjects']
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
 楼主| 发表于 2019-11-13 21:17:28 | 显示全部楼层
今天使用32位电脑写的python程序,其中一个关于I2C的一个dll文件,导入的时候,老是说找不到,明天继续想办法,同事说是因为电脑64位的原因。搞定了,再来记录
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号

GMT+8, 2019-12-6 06:47

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表