繁体   English   中英

如何在没有while循环的情况下重复输入?

[英]How to repeat an input without while loop?

我正在弄清楚如何在我的列表中输入 append ,问题是一些输入是字符串,而另一些是浮点数,所以问题是是否可以将输入迭代 2 次作为字符串和 3 次作为浮点数而无需花费一段时间/循环或 for 循环范围,例如:

fighters = [[],[]]    

for i in range(len(fighters)):  
    for j in range(5):
        if j <= 1:
           fighters[i].append(input())

    else:
        fighters[i].append(float(input()))

我不知道,做这样的事情(这只是一个参考):

for i in range(len(fighters)):
    fighters[i].append(input(), 2) # that 2 means 2 times for example
    fighters[i].append(float(input(), 3) # and that 3 means 3 times

这是输入的示例:

Gabriel # i want this 2 as strings 
Wolf 
7.5 # and this 3 as floats 
5.1 
5.1 
Vlad # same here 
Vampire 
5.3 
7.8 
5.0
for i in range(len(fighters)):
    for cls in (str,)*2 + (float,)*3:
        fighters[i].append(cls(input()))

(str,)是一个元素的元组,需要额外的逗号。 (str,) * 2映射到(str, str)所以(str,)*2 + (float,)*3映射到(str, str, float, float, float)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM