首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单的python程序

简单的python程序
EN

Stack Overflow用户
提问于 2011-11-23 01:55:29
回答 8查看 767关注 0票数 2

请耐心听我说,我是编程领域的新手。我正在尝试为与医疗账单相关的ICD-9代码设计一个简单的数据输入/应答程序。

示例:

代码语言:javascript
复制
Enter ICD-9: "487.1"
Answer: "Influenza with respiratory manifestations"

Enter ICD-9 Code: "844.2"
Answer: "Cruciate Ligament Tear of Knee"

我在几分钟内就勾勒出了这一点,但我不知道如何让程序读取一系列数字,而不仅仅是一个数字。对于基数为10: 844.2的int(),我也得到了ValueErrors: invalid文本,所以我使用844值只是为了测试。

文件名: icd9wizard.py

代码语言:javascript
复制
number = 844
running = True

while running:
    guess = int(input('Enter ICD-9 Code: '))

    if guess == number:
        print('Cruciate Ligament Tear of Knee')
    elif guess < number:
        print('Invalid entry')
    else:
        print('Invalid entry')

我知道这是基本的..。我只需要一个箭头为我指明正确的方向。

谢谢!

EN

回答 8

Stack Overflow用户

发布于 2011-11-23 02:00:05

在Python中,int数据类型只能包含完整的整数,没有小数部分。对于您的应用程序,由于您不会对输入的数字进行任何实际的算术运算,因此最好将它们保留为字符串。所以根本不要调用int

代码语言:javascript
复制
number = "844"

guess = input('Enter ICD-9 Code')

请注意,我如何更改number,使"844"出现在引号中。这意味着它可以包含任何字符值,例如"844.2""fred"

还有另一种名为float的数据类型,它保存浮点值(带有小数部分的数字)。但是,这种类型不适合您的应用程序,因为您不会使用这些数字进行计算。

票数 3
EN

Stack Overflow用户

发布于 2011-11-23 02:02:23

如果你有一组预定义的数字想要使用,你可以测试字典中是否包含:

代码语言:javascript
复制
good_numbers = {"487.1": "Influenza with respiratory manifestations",
                "844.2": "Cruciate Ligament Tear of Knee",
                "133.7": "Being awesome at code"}
running = True

while running:
    guess = raw_input('Enter ICD-9 Code: ')

    if guess in good_numbers:
        print good_numbers[guess]
    else:
        print('Invalid entry')
票数 3
EN

Stack Overflow用户

发布于 2011-11-23 02:00:26

您可以使用float()而不是int()来修复ValueErrorint不能存储非整数,即小数点后有值的数字。

至于剩下的问题,您应该考虑使用dictionary (请参阅python文档),将ICD-9代码作为关键字,将答案/描述作为值。通过这种方式,您可以输入大量的代码和描述,而不必使用大量的ifelif。考虑通过读取文件或其他内容来填充此dictionary

例如(填写完字典后):

代码语言:javascript
复制
number = 844.2
running = True

while running:
    guess = float(input('Enter ICD-9 Code: '))

    if guess in icd_9_dict.keys():
        print(icd_9_dict[guess])
    else:
        print('Invalid entry')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8231388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档