Python—将循环放入列表中
对于我的python程序,我被要求计算用户输入的电阻值。在程序中,我被要求演示数据处理、循环、列表和验证 我有7个电阻值要输入到程序中。对于每个电阻器输入,我创建了如下循环:Python—将循环放入列表中,python,list,loops,Python,List,Loops,对于我的python程序,我被要求计算用户输入的电阻值。在程序中,我被要求演示数据处理、循环、列表和验证 我有7个电阻值要输入到程序中。对于每个电阻器输入,我创建了如下循环: #Loop for Resistor 2: while True : try: R2 = float(input( 'Resistor Value R2: ' )) except ValueError: print( 'Sorry, Invalid Input! Try In
#Loop for Resistor 2:
while True :
try:
R2 = float(input( 'Resistor Value R2: ' ))
except ValueError:
print( 'Sorry, Invalid Input! Try Inputing A Number' )
continue
if R2 < 0 :
print( 'Sorry, Invalid Input! Try A Positive Number ' )
continue
else :
break
电阻2的回路:
尽管如此:
尝试:
R2=浮动(输入('电阻值R2:'))
除值错误外:
打印('对不起,输入无效!请尝试输入一个数字')
持续
如果R2<0:
打印('抱歉,输入无效!请尝试正数')
持续
其他:
打破
因为我有7个电阻,我有7个这样的循环为程序打印出来。这完全可以。然而,我想把这些都列在一个列表中。例如,不是为7个电阻写7次循环,而是创建一个列表,写一次,然后对所有7个输入重复
有人知道我怎么做吗?我对python很陌生,也很困惑。您可以使用for循环,并将值存储在列表中:
resistor_values = []
for i in range(7): # loop will have 7 iterations(0 - 6)
# write code to be executed 7 times
while True:
# this while loop ends when valid value for R is input
# and stored in resistors
try:
R = float(input( 'Resistor Value R: ' ))
except ValueError:
print( 'Sorry, Invalid Input! Try Inputing A Number' )
continue
if R < 0:
print( 'Sorry, Invalid Input! Try A Positive Number ' )
continue
else:
resistors_values.append(R) # this appends R to the end of the list
break
电阻器_值=[]
对于范围(7)中的i:#循环将有7次迭代(0-6)
#编写要执行7次的代码
尽管如此:
#当输入R的有效值时,该while循环结束
#并存储在电阻器中
尝试:
R=浮动(输入('电阻值R:'))
除值错误外:
打印('对不起,输入无效!请尝试输入一个数字')
持续
如果R<0:
打印('抱歉,输入无效!请尝试正数')
持续
其他:
电阻值。追加(R)#将R追加到列表的末尾
打破
这将产生一个包含7个电阻值的列表值={}
values = {}
for i in range(1, 8):
while True:
try:
value = float(input( 'Resistor Value R%s: ' % i ))
except ValueError:
print( 'Sorry, Invalid Input! Try Inputing A Number' )
continue
if value < 0:
print( 'Sorry, Invalid Input! Try A Positive Number ' )
continue
else:
values['R%s' % i] = value
break
print( values )
>>> {"R1": 470.0, "R2": 68.0, "R3": 1.6, ...}
对于范围(1,8)内的i:
尽管如此:
尝试:
值=浮动(输入('电阻值R%s:'%i))
除值错误外:
打印('对不起,输入无效!请尝试输入一个数字')
持续
如果值<0:
打印('抱歉,输入无效!请尝试正数')
持续
其他:
值['R%s'%i]=值
打破
打印(值)
>>>{“R1”:470.0,“R2”:68.0,“R3”:1.6,…}
这应该可以完成工作。它推送列表中的所有有效电阻器,在特定数量的有效电阻器进入后,它将断开
resistors = []
while len(resistors) < 7:
try:
R = float(input( 'Resistor Value R: ' ))
except ValueError:
print( 'Sorry, Invalid Input! Try Inputing A Number' )
continue
if R < 0 :
print( 'Sorry, Invalid Input! Try A Positive Number ' )
continue
else:
resistors.append(R)
电阻器=[]
而len(电阻器)<7:
尝试:
R=浮动(输入('电阻值R:'))
除值错误外:
打印('对不起,输入无效!请尝试输入一个数字')
持续
如果R<0:
打印('抱歉,输入无效!请尝试正数')
持续
其他:
附加电阻(R)
执行从1到7的for循环,重复相关代码,并将提示参数化为相关电阻器的索引
def ask_for_input(resistor_number):
while True :
input_string = input('Resistence value for Resistor {0}: '.format(resistor_number))
try:
resistence_value = float(input_string)
except ValueError:
print( 'Sorry, Invalid Input! Try Inputing A Number' )
continue
if resistence_value < 0 :
print( 'Sorry, Invalid Input! Try A Positive Number ' )
continue
else :
return resistence_value
resistences = []
for index in range(1, 8):
resistences.append(ask_for_input(index))
print resistences
def ask_输入(电阻器编号):
尽管如此:
input_string=input('电阻器{0}的电阻值:'。格式(电阻器_编号))
尝试:
电阻值=浮动(输入字符串)
除值错误外:
打印('对不起,输入无效!请尝试输入一个数字')
持续
如果电阻_值<0:
打印('抱歉,输入无效!请尝试正数')
持续
其他:
返回电阻值
阻力=[]
对于范围(1,8)中的索引:
电阻。追加(请求输入(索引))
印刷阻力
他说的是一份清单,而不是一本字典。这帮了大忙!!然而,我有另一个问题,在程序中,我必须计算电路中的总电阻,并有相应的公式。这在我创建列表之前就已经奏效了。RT1=1/((1/R2)+(1/R3))RT2=(RT1)+R4 RT3=1/((1/RT2)+(1/R5))RT4=(RT3)+R7 RT5=1/((1/RT4)+(1/R6))RT6=(RT5)+R1这是电阻的公式。。然而,当我运行该程序时,我得到以下消息:回溯(最近一次调用last):文件“C:/Users/dylan/Desktop/test.py”,第22行,RT1=1/((1/R2)+(1/R3))名称错误:名称“R2”不正确defined@DylanSwann此代码不符合您的演示要求lists@Totem你怎么知道的?在if语句中有R2。这是100%有效,但我必须计算电路中的总电阻。为此,我进行了大量计算:RT1=1/((1/R2)+(1/R3))RT2=(RT1)+r4rt3=1/((1/RT2)+(1/R5))RT4=(RT3)+r7rt5=1/((1/RT4)+(1/R6))RT6=(RT5)+R1但是R1-R7没有定义,我如何修复它以符合您的要求code@totem你能帮忙吗?