首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在定义的函数中使输入从字符串变为整数。

在定义的函数中使输入从字符串变为整数。
EN

Stack Overflow用户
提问于 2022-11-16 04:08:52
回答 1查看 30关注 0票数 -1

这是我当前的代码,但是输入不会更改为整数,有人能帮我吗

代码语言:javascript
复制
score = [0,20,40,60,80,100,120] 

def validate_credits(input_credits):
    try:
        input_credits = int(input_credits)
    except:
        raise ValueError('integer required')
        
    if input_credits not in score:
        raise ValueError('out of range')
        
while True: 
    try: 
        mark1 = input('Enter your total PASS marks: ')
        validate_credits(mark1)
    
        mark2 = input('Enter your total DEFER marks: ')
        validate_credits(mark2)
    
        mark3 = input('Enter your total FAIL marks: ')
        validate_credits(mark3)
        
    except ValueError as e: 
           print(e)
代码语言:javascript
复制
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-16 04:23:37

这是一个范围界定的问题。考虑:

代码语言:javascript
复制
def the_function(_the_input):
    _the_input = int('2')

if __name__ == "__main__":
    the_input = '1'
    the_function(the_input)
    print(the_input)

你认为the_input会是什么?'1‘或2’?

输出为'1'

一份名单怎么样?

代码语言:javascript
复制
def the_function(_the_input):
    _the_input.append('2')

if __name__ == "__main__":
    the_input = ['1']
    the_function(the_input)
    print(the_input)

输出为['1', '2']

冒着没有正确解释这个问题的风险,我建议你去看this thread on the topic

要将输入作为整数,需要返回以下值:

代码语言:javascript
复制
def the_function(_the_input):
    # + other function logic...
    return int(_the_input)

if __name__ == "__main__":
    the_input = '1'
    the_input = the_function(the_input)
    print(the_input)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74455059

复制
相关文章

相似问题

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