我可以弄清楚如何让这段代码接受浮点数和整数。
此代码的作用是:接受无限量的用户输入,必须为非负整数。当检测到空行时,输入结束。
代码;以升序打印列表。打印所有数字的总和,然后打印平均数。
代码:
nums = []
response = " "
total = 0
print("Type a positive integer: ")
while response != "":
response = input()
if response.isnumeric():
nums.append(int(response))
print("Next number: ")
elif response == '':
break
else:
print("Error, you have to type a non-negative integer.")
nums.sort()
for item in nums:
total = total + item
if nums != []:
print("The numbers in order: ",nums)
print("Total number: ",total)
print("The average is",sum(nums) / len(nums))
else:
print("There are no numbers in the list")
答案 0 :(得分:1)
该行:
nums.append(int(response))
将字符串输入转换为整数。只需将其更改为:
nums.append(float(response))
答案 1 :(得分:0)
如果您希望它采用整数以及浮点数,那么您需要完全删除强制转换:
nums.append(response)
答案 2 :(得分:0)
如果要将整数追加为int
并将其浮动为float
,则可以使用:
nums.append(float(response) if "." in number else int(response))
答案 3 :(得分:0)
float
班级有.is_integer()
function:
buf = float(response)
if buf.is_integer():
buf = int(buf)
nums.append(buf)