我以为我是从previous question/answer逐字逐句复制,但是,我没有得到我想要的东西。
我试图从初学者的在线python问题列表中回答一个问题。我在名为q.py
的文件中写了以下内容,然后在我的shell中用python3 q.py
执行了它。
文件q.py
如下:
from math import sqrt
C=50
H=30
inp = input('input values: ')
vals = inp.split(',')
print(vals)
for x in vals:
D=int(x)
print(int(sqrt(2*C*D/H)),sep=',',end='')
print()
我输入100,150,180
作为建议的问题,所需的答案是:
18,22,24
但我得到的答案是:
182224
当我忽略"end"
的{{1}}参数时,我会将print
,18
和22
分隔为换行符。
答案 0 :(得分:2)
sep
用于分隔值 ;您为每个循环提供一个值,因此不使用分隔符。
不使用sep=','
,而是使用end=','
来获得所需效果:
for x in vals:
D=int(x)
print(int(sqrt(2*C*D/H)),end=',')
print()
使用类似输入,打印出的结果是:
['100', '150', '180']
18,22,24,
例如,如果您提供多个值,例如,通过在print
电话中解压缩列表解析,sep=','
就会像魅力一样:
print(*[int(sqrt(2*C*int(x)/H)) for x in vals], sep=',')
打印:
18,22,24