鱼C论坛

 找回密码
 立即注册
查看: 778|回复: 6

[已解决]以A作为输入结束

[复制链接]
发表于 2020-4-8 18:23:15 | 显示全部楼层 |阅读模式

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

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

x
这是题目:从键盘上输入若干个整数,并求出这若干个整数数中所有奇数之和、偶数之和及所有数的平均值,当从键盘输入字符“A”时,程序输出上述结果。
这是我写的:
oddsum=0
evensum=0
average=0
count=0
print("请输入一个整数,以A作为输入结束!")
num=int(input("输入数据:"))
while(num!="A"):
    count+=1
    if num%2==1:
        oddsum+=num
    else:
        evensum+=num
    num=int(input("输入数据:"))
average=(oddsum+evensum)/count
print("奇数之和为"+str(oddsum))
print("偶数之和为"+str(evensum))
print("平均值为"+str(average))

然后这个是报的错: File "D:/python/奇偶平均.py", line 13, in <module>
    num=int(input("输入数据:"))
ValueError: invalid literal for int() with base 10: 'A'
小白卑微请问该如何修改捏
最佳答案
2020-4-8 18:34:30
试试这样:
oddsum = 0
evensum = 0
average = 0
count = 0
print("请输入一个整数,以A作为输入结束!")
num = input("输入数据:")    # A 无法转化为整数,所以不转换
while num != "A":
    num = int(num)    # 这时再来转换
    count += 1
    if num % 2 == 1:
        oddsum += num
    else:
        evensum += num
    num = int(input("输入数据:"))
average = (oddsum + evensum) / count
print("奇数之和为" + str(oddsum))
print("偶数之和为" + str(evensum))
print("平均值为" + str(average))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-8 18:34:30 | 显示全部楼层    本楼为最佳答案   
试试这样:
oddsum = 0
evensum = 0
average = 0
count = 0
print("请输入一个整数,以A作为输入结束!")
num = input("输入数据:")    # A 无法转化为整数,所以不转换
while num != "A":
    num = int(num)    # 这时再来转换
    count += 1
    if num % 2 == 1:
        oddsum += num
    else:
        evensum += num
    num = int(input("输入数据:"))
average = (oddsum + evensum) / count
print("奇数之和为" + str(oddsum))
print("偶数之和为" + str(evensum))
print("平均值为" + str(average))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-8 18:40:25 | 显示全部楼层
试试这样
oddsum = 0
evensum = 0
average = 0
count = 0
print("请输入一个整数,以A作为输入结束!")
num = input("输入数据:")
while num != "A":
    num = int(num)
    count += 1
    if num % 2 == 1:
        oddsum += num
    else:
        evensum += num
    num = input("输入数据:")
average = (oddsum + evensum) / count
print("奇数之和为" + str(oddsum))
print("偶数之和为" + str(evensum))
print("平均值为" + str(average))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-8 19:10:02 | 显示全部楼层
你不能把A转换为整型,试试判断完num不是A之后再转换
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-8 19:54:06 | 显示全部楼层

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

使用道具 举报

 楼主| 发表于 2020-4-8 19:54:54 | 显示全部楼层
老八秘制 发表于 2020-4-8 19:10
你不能把A转换为整型,试试判断完num不是A之后再转换

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

使用道具 举报

 楼主| 发表于 2020-4-8 19:55:39 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 03:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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