鱼C论坛

 找回密码
 立即注册
查看: 2895|回复: 8

[已解决]同一行?

[复制链接]
发表于 2022-11-30 17:35:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
a=1
s=0
while a<=100:
    print(a,'+')
    s=s+a
    a=a+1
print('=')
print(s)
   
最佳答案
2022-11-30 17:45:05
本帖最后由 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

可以给一个最佳吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-11-30 17:35:41 | 显示全部楼层
怎么变成同一行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-30 17:45:05 | 显示全部楼层    本楼为最佳答案   
本帖最后由 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

可以给一个最佳吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-30 18:38:57 | 显示全部楼层
楼主是想问一行代码实现1-100总和吗?
print(sum(range(1,101)))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-30 19:11:00 | 显示全部楼层
s=''
a=1
while a<100:
    s+=str(a)+'+'
    a+=1
s+=str(a)+'='
print(s,(1+a)*a//2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-30 20:35:33 | 显示全部楼层
a = s = 1
print(a , end = '')
while a < 100 :
    a += 1
    s += a
    print('+' , a , sep = '' , end = '')
print('=' , s , sep = '')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-4 10:06:01 | 显示全部楼层


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)

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-7 16:55:37 | 显示全部楼层
zhangjinxuan 发表于 2022-11-30 17:45
其实上你这输出的也不对,因为最后一个数字后面有一个 +,所以你还要特判一下:

太感谢了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-8 09:12:08 | 显示全部楼层
都解决了我就来凑个热闹吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-25 09:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表