同一行?
a=1s=0
while a<=100:
print(a,'+')
s=s+a
a=a+1
print('=')
print(s)
怎么变成同一行 本帖最后由 zhangjinxuan 于 2022-11-30 17:55 编辑
a=1
s=0
while a<=100:
print(a,'+', end = '') #这里很关键,因为 print 默认 end 为换行,也就是说,你不设置 end 参数的情况下,print 打印完后会自动加一个换行,这里把 end 设为空串,表示输出了 a 和 ‘+’ 不换行,也不打印任何内容
#如果你为数字后面的空格还不爽,可以写成 print(a,'+', end = '', sep = ''),sep 是分隔符,打印完一个参数的内容就输出一个 sep,默认情况 sep = ' ',也就是空格,所以如果你不修改 sep 的前提下,print 每打印完一个参数就会多输出一个空格
s=s+a
a=a+1
print('=', end = '') #这里同理
print(s)
其实上你这输出的也不对,因为最后一个数字后面有一个 +,所以你还要特判一下:
a=1
s=0
while a<=100:
print(a, end = '')
if a != 100:
print('+', end = '')
s=s+a
a=a+1
print('=', end = '')
print(s)
运行实况:
1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100=5050
可以给一个最佳吗{:10_254:} 楼主是想问一行代码实现1-100总和吗?
print(sum(range(1,101)))
s=''
a=1
while a<100:
s+=str(a)+'+'
a+=1
s+=str(a)+'='
print(s,(1+a)*a//2) a = s = 1
print(a , end = '')
while a < 100 :
a += 1
s += a
print('+' , a , sep = '' , end = '')
print('=' , s , sep = '') 象棋爱好者 发表于 2022-11-30 17:35
怎么变成同一行
print 函数有个 end参数,默认值为 \n 换行符
只要将 end 参数重新赋值后,覆盖了 \n 换行符也就可以达到不换行的目的
另外,这里的最后一个 100 会多一个 + 号,可以用 if 判断来分开打印:
参考代码1:
a = 1
s = 0
while a <= 100:
if a == 100:
print(a, end=" ")
else:
print(a, '+', end=" ")
s = s + a
a = a + 1
print('=', s)
zhangjinxuan 发表于 2022-11-30 17:45
其实上你这输出的也不对,因为最后一个数字后面有一个 +,所以你还要特判一下:
太感谢了! 都解决了我就来凑个热闹吧
页:
[1]