鱼C论坛

 找回密码
 立即注册
查看: 2157|回复: 13

[已解决]回车如何作为if语句的条件?

[复制链接]
发表于 2020-7-20 19:38:47 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 xxlxxl 于 2020-7-20 19:41 编辑

题目要求计算输入的所有数字的平均数并且如果输入0,0不能包含在计算内。但开始计算的条件是不输入任何内容的情况下回车,请问该怎么办呢?
求出的平均值要求是两位小数,这个该怎么办呢?
最佳答案
2020-7-20 19:47:31
user = True
temp = []
while user:
    user = input()
    if user == '' or int(user) == 0:
        continue
    temp += [int(user)]
print('Average is %.2f'%(sum(temp)/len(temp)))
屏幕快照 2020-07-20 下午9.36.33.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-20 19:45:55 | 显示全部楼层
本帖最后由 永恒的蓝色梦想 于 2020-7-20 19:49 编辑
sum = len = 0

while (temp := input()):
    if (temp := int(temp)):
        sum += temp
        len += 1

print("Average is", sum / len)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-20 19:47:31 | 显示全部楼层    本楼为最佳答案   
user = True
temp = []
while user:
    user = input()
    if user == '' or int(user) == 0:
        continue
    temp += [int(user)]
print('Average is %.2f'%(sum(temp)/len(temp)))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-20 19:50:32 | 显示全部楼层
temp += [int(user)]
这不是什么好写法。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-20 20:10:06 | 显示全部楼层


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

使用道具 举报

发表于 2020-7-20 20:18:33 | 显示全部楼层
本帖最后由 zltzlt 于 2020-7-20 20:19 编辑


temp.append(int(user)) 它不香嘛?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-22 14:46:15 | 显示全部楼层

请问 ‘:=’ 是什么呀,还没学到。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-22 15:19:20 | 显示全部楼层
本帖最后由 xxlxxl 于 2020-7-22 15:22 编辑
i = True
temp = []
while i:
    i = input()
    if int(i) != 0:
        temp.append(i)
    if i == '':
        print("Average is {:.2f}".format(sum(temp)/len(temp)))

可以帮我看下我的代码吗,就它在 if int(i) != 0: 和 最后一行报错了,我不太明白为什么报错。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-22 15:23:32 | 显示全部楼层
xxlxxl 发表于 2020-7-22 15:19
可以帮我看下我的代码吗,就它在 if int(i) != 0: 和 最后一行报错了,我不太明白为什么报错。



换下位置就好了,因为 i 你输入空字符串时候 int('') 空字符串会报错,因为 int 不知道如何将一个空字符串转化为整数
i = True
temp = []
while i:
    i = input()
    if i == '':
        print("Average is {:.2f}".format(sum(temp)/len(temp)))
        break
    if int(i) != 0:
        temp.append(int(i))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-22 16:10:20 | 显示全部楼层
Twilight6 发表于 2020-7-22 15:23
换下位置就好了,因为 i 你输入空字符串时候 int('') 空字符串会报错,因为 int 不知道如何将一个空 ...

什么叫输入空字符串啊,是指如果 if int(i) != 0:在前面的时候 i 是空的吗?可是我input了一个数字啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-22 16:44:54 | 显示全部楼层
xxlxxl 发表于 2020-7-22 16:10
什么叫输入空字符串啊,是指如果 if int(i) != 0:在前面的时候 i 是空的吗?可是我input了一个数字啊。

input 你直接回车就是返回一个空的字符串啊,因为你什么都没有输入
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-22 16:52:06 | 显示全部楼层
xxlxxl 发表于 2020-7-22 14:46
请问 ‘:=’ 是什么呀,还没学到。

海象运算符,可以参考 https://blog.csdn.net/qq_40244755/article/details/102685199
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-22 17:42:42 | 显示全部楼层
Twilight6 发表于 2020-7-22 16:44
input 你直接回车就是返回一个空的字符串啊,因为你什么都没有输入

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

使用道具 举报

 楼主| 发表于 2020-7-22 17:43:27 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-7-22 16:52
海象运算符,可以参考 https://blog.csdn.net/qq_40244755/article/details/102685199

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 10:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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