iwantdo 2021-06-25 17:01 采纳率: 33.3%
浏览 32

python输出阶乘时输入浮点数报错

num = int(input('请输入一个整数:'))

def tool__num(num):
    try:
        if num == int(num):
         True

    except ValueError:
        print('请输入整数')
factorial = 1
if num < 0 :
    print('负数没有阶乘')
elif num == 0 :
    print('0 的阶乘等于1')
else:
    for x in range(1,num + 1) :
        factorial = factorial * x
    print('{0} 的阶乘为:{1}'.format(num ,factorial))

输入整数和0没有问题

请输入一个整数:1
1 的阶乘为:1
请输入一个整数:-9
负数没有阶乘
请输入一个整数:0
0 的阶乘等于1

但是输入浮点数还是报错

请输入一个整数:1.0
Traceback (most recent call last):
  File "E:/python_examples/factorial.py", line 2, in <module>
    num = int(input('请输入一个整数:'))
ValueError: invalid literal for int() with base 10: '1.0'

哪位大佬指点一下

  • 写回答

3条回答 默认 最新

  • 奋斗的小小鱼 2021-06-25 17:19
    关注

    num = int(input('请输入一个整数:'))因为你这定义的是int整型啊,肯定不能输入浮点型数据了

    评论

报告相同问题?

悬赏问题

  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 机器学习简单问题解决
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写