回车如何作为if语句的条件?
本帖最后由 xxlxxl 于 2020-7-20 19:41 编辑题目要求计算输入的所有数字的平均数并且如果输入0,0不能包含在计算内。但开始计算的条件是不输入任何内容的情况下回车,请问该怎么办呢?
求出的平均值要求是两位小数,这个该怎么办呢?
本帖最后由 永恒的蓝色梦想 于 2020-7-20 19:49 编辑
sum = len = 0
while (temp := input()):
if (temp := int(temp)):
sum += temp
len += 1
print("Average is", sum / len) user = True
temp = []
while user:
user = input()
if user == '' or int(user) == 0:
continue
temp +=
print('Average is %.2f'%(sum(temp)/len(temp))) Twilight6 发表于 2020-7-20 19:47
temp += 这不是什么好写法。 永恒的蓝色梦想 发表于 2020-7-20 19:50
这不是什么好写法。
我知道 本帖最后由 zltzlt 于 2020-7-20 20:19 编辑
Twilight6 发表于 2020-7-20 19:47
temp.append(int(user)) 它不香嘛? 永恒的蓝色梦想 发表于 2020-7-20 19:45
请问 ‘:=’ 是什么呀,还没学到。
本帖最后由 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: 和 最后一行报错了,我不太明白为什么报错。 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)) Twilight6 发表于 2020-7-22 15:23
换下位置就好了,因为 i 你输入空字符串时候 int('') 空字符串会报错,因为 int 不知道如何将一个空 ...
什么叫输入空字符串啊,是指如果 if int(i) != 0:在前面的时候 i 是空的吗?可是我input了一个数字啊。 xxlxxl 发表于 2020-7-22 16:10
什么叫输入空字符串啊,是指如果 if int(i) != 0:在前面的时候 i 是空的吗?可是我input了一个数字啊。
input 你直接回车就是返回一个空的字符串啊,因为你什么都没有输入 xxlxxl 发表于 2020-7-22 14:46
请问 ‘:=’ 是什么呀,还没学到。
海象运算符,可以参考 https://blog.csdn.net/qq_40244755/article/details/102685199 Twilight6 发表于 2020-7-22 16:44
input 你直接回车就是返回一个空的字符串啊,因为你什么都没有输入
明白了明白了 永恒的蓝色梦想 发表于 2020-7-22 16:52
海象运算符,可以参考 https://blog.csdn.net/qq_40244755/article/details/102685199
谢谢
页:
[1]