xxlxxl 发表于 2020-7-20 19:38:47

回车如何作为if语句的条件?

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

题目要求计算输入的所有数字的平均数并且如果输入0,0不能包含在计算内。但开始计算的条件是不输入任何内容的情况下回车,请问该怎么办呢?
求出的平均值要求是两位小数,这个该怎么办呢?

永恒的蓝色梦想 发表于 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)

Twilight6 发表于 2020-7-20 19:47:31

user = True
temp = []
while user:
    user = input()
    if user == '' or int(user) == 0:
      continue
    temp +=
print('Average is %.2f'%(sum(temp)/len(temp)))

永恒的蓝色梦想 发表于 2020-7-20 19:50:32

Twilight6 发表于 2020-7-20 19:47


temp += 这不是什么好写法。

Twilight6 发表于 2020-7-20 20:10:06

永恒的蓝色梦想 发表于 2020-7-20 19:50
这不是什么好写法。

我知道

zltzlt 发表于 2020-7-20 20:18:33

本帖最后由 zltzlt 于 2020-7-20 20:19 编辑

Twilight6 发表于 2020-7-20 19:47


temp.append(int(user)) 它不香嘛?

xxlxxl 发表于 2020-7-22 14:46:15

永恒的蓝色梦想 发表于 2020-7-20 19:45


请问 ‘:=’ 是什么呀,还没学到。

xxlxxl 发表于 2020-7-22 15:19:20

本帖最后由 xxlxxl 于 2020-7-22 15:22 编辑

Twilight6 发表于 2020-7-20 19:47

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: 和 最后一行报错了,我不太明白为什么报错。

Twilight6 发表于 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))

xxlxxl 发表于 2020-7-22 16:10:20

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

什么叫输入空字符串啊,是指如果 if int(i) != 0:在前面的时候 i 是空的吗?可是我input了一个数字啊。

Twilight6 发表于 2020-7-22 16:44:54

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

input 你直接回车就是返回一个空的字符串啊,因为你什么都没有输入

永恒的蓝色梦想 发表于 2020-7-22 16:52:06

xxlxxl 发表于 2020-7-22 14:46
请问 ‘:=’ 是什么呀,还没学到。

海象运算符,可以参考 https://blog.csdn.net/qq_40244755/article/details/102685199

xxlxxl 发表于 2020-7-22 17:42:42

Twilight6 发表于 2020-7-22 16:44
input 你直接回车就是返回一个空的字符串啊,因为你什么都没有输入

明白了明白了

xxlxxl 发表于 2020-7-22 17:43:27

永恒的蓝色梦想 发表于 2020-7-22 16:52
海象运算符,可以参考 https://blog.csdn.net/qq_40244755/article/details/102685199

谢谢
页: [1]
查看完整版本: 回车如何作为if语句的条件?