今天看到了一个非常有意思的代码
L = []
for x in range(1, 11):
L.append(x * x)
print( [m + n for m in 'ABC' for n in 'XYZ'])
123
['1X', '1Y', '1Z', '2X', '2Y', '2Z', '3X', '3Y', '3Z'] [程序已完成]
那我有个疑问
L = []
for x in range(1, 11):
L.append(x * x)
a =input()
b =input()
c =input()
…
z =…
print( [m + n for m in a for n in 'XYZ'])
若是任意input行数,这后面的代码咋写啊
单纯地任意Input行数肯定是不行的,要么就是指定input多少行,要么就是给定出现什么东西结束input,这是代码的基本逻辑。鉴于你的问题,如果按照正常的写代码逻辑应该就是遇到某些特定字符(一般是空字符结束input) 。下面是代码
import sys
try:
mx = []
while True:
m = input().strip()
# 上一行输入报错的话,可以用下一行,需要import sys
# m = sys.stdin.readline().strip()
#若是多输入,strip()默认是以空格分隔,返回一个包含多个字符串的list。
if m == '':
break
mx.append(m)
print(mx)
except:
pass
while 1:
x = input()
print([m + n for m in x for n in 'XYZ'])