Re: [问题] 函数中下标或是呼叫另一个档案

楼主: KSJ (阿真)   2018-09-22 13:55:02
自称小妹 不帮不行
问题一:
不是def中没辨法运算有下标的结构
是“下标”跟“结构”在python听起来就…怪怪的
“下标”算index吧
“结构”算… list tuple dict之类的东西 通称sequence
根据问题一 在python的用法通常比较接近
* 创一个list (你的pop)
* 创一些dict (你的结构)
* 将list append 那些dict
如果硬要开一个函式创这些东西的话…
def create_a_structure(n):
pop = [] #变量名实在不是太好...在函式内就算了...
for i in range(n):
pop.append({'姓名':'','性别': '','生日': ''}) #把“结构”加进pop
return pop
res = create_a_structure(10) #创10个
盲点应该是… 你的pop可以创成list 然后用append去动态增加“初始结构”
关于问题二 真心不建议这样做
基本上“主程式”不会执行到一个阶段再给副程式import
通常是主程式执行到一个阶段再去呼叫副程式吧
这样才叫主与副?!
举个例子
当问题一的函式写好 分开写在xxx.py档
在主程式中应该先import
import xxx # xxx.py in python search path
然后再使用
res = xxx.create_a_structure(30)
当然xxx.py档里可以有很多其它有用的函式
还是建议由主程式import档案进来再呼叫函式使用 再传pop给呼叫的函式
不要把pop直接传到副程式去 不是不行 但流程上相对辛苦
以上供参考
有错请指正
※ 引述《majoyun (R_pu)》之铭言:
先跟各位前辈问好,小妹还是python超超新手
可能有些名词说法不太正确,请鞭小力一点
问题一:
目前发现def中没办法运算有下标的结构
像是
pop={'姓名':,'性别':,'生日':}
我先将pop变成5大小
然后想要写一个def 函数
def 函数(pop):
for i in range(0,5)
pop[i]['姓名']:
pop[i]['性别']:
pop[i]['生日']:
i=i+1
return pop
目前发现在函数里面没办法有[i],不知道是不是哪边盲点没突破
问题二:
后来想了一下
我在另一个档案里面写好我想要运用的函数
只是不以def开头
就是把函数改写成小的副程式'Fk'
想要在主程式里面运行到一个阶段
把主程式产出的变量pop
输入到副程式Fk中
(也就是说Fk中的变量是没有在Fk里面给予定义,需要从主程式里面撷取)
在Fk.py中
from 主程式 import pop
但由于我的pop是随机产生的,不知道他会重新随机产生?
还是可以读到我主程式运行到一个阶段所产生的那组pop?
觉得我两个问题叙述的好像有点乱,
请各位前辈们,帮帮小妹
作者: jackwang01 (艾斯比那)   2017-09-22 02:21:00
一。pop是dict 不能用list的index写法不太懂你的变成5大小是指什么?然后for I in range他的i会自动加,不用再额外加一了如果你是希望存每个人不同的性别生日资讯可以试试看直接拿姓名当key例如 { A: {性别:, 生日:}, B: {性别:, 生日:}…}不然如果你想用list就是 [{…},{…},…]这样抱歉第二个问题还是不太懂XD 意思是在a档案中先算好一些变量再给b档案用吗?那如果执行b档案的时候再去算这些值会有什么问题吗?

Links booklink

Contact Us: admin [ a t ] ucptt.com