我有这个程序:
a = []
num = input('Enter numbers *Separate by using commas:')
num = num.split(",")
for i in num:
a.append(i)
num = list(map(int,a))
print('~~Output~~')
for x in num:
if x >= 10:
print('Values >= 10 :',x,end = '~')
它出现了这样:
Enter numbers *Separate by using commas:12,1,10,5
~~Output~~
Values >= 10 : 12~Values >= 10 : 10~
>>>
如何制作它以便像这样打印:
Enter numbers *Separate by using commas:12,1,10,5
~~Output~~
Values >= 10 : ~12~10~
>>>
感谢。
是这样的:a = []
num = input('Enter numbers *Separate by using commas:')
for i in num:
if i >= 10:
a.append(i)
print('~' + '~'.join(a) + '~')
它会打印出来:
if i >= 10:
TypeError: '>=' not supported between instances of 'str' and 'int'
>>>
我真的不明白......对不起......有一个更简单的人使用这个for循环吗?
答案 0 :(得分:1)
我假设您打算在值之前打印标签?不是每个价值的一部分?
print('Values >= 10 :', end ='')
for x in num:
if x >= 10:
print(x,end = '~')
你的第二个错误是你正在迭代一个字符串...你忘了分割逗号,并将字符串映射到整数
答案 1 :(得分:0)
将数字添加到列表中,然后打印出来。
numbersHigher = []
for x in num:
if x >= 10:
numbersHigher.append(x)
Zach King建议列表理解(谷歌如果你想了解更多)
numbersHigher = [x for x in num if x >= 10]
然后在循环后打印一次。 这是因为可能有2个数字而且你打印两次因为x高于1-2次。 编辑: 要像你想要的那样进行最后一次打印,你可以这样做:
import string
print('~' + '~'.join(numbersHigher) + '~')