在if语句python3中输入

时间:2018-01-14 02:23:55

标签: python-3.x

这个程序在python2中运行正常,但在python3中运行它时,在提示输入“1”后输出错误。我想知道是否还有一种方法可以在if语句中接受用户输入,或者我是否必须以不同的方式解决这个问题。我的计划如下:

query_config.dry_run = True
query_config.use_legacy_sql = True
job = client.query(query, job_config=query_config)
print("Total bytes that will be processed: ", job.total_bytes_processed)
print("Bytes billed: ", job.total_bytes_billed)

3 个答案:

答案 0 :(得分:0)

默认情况下,input()在python 3中将值作为字符串...因此您可能希望将输入更改为

select_one =int( input('Please enter a number from the menu below: \n1.Convert Celcius to Farenheit \n2. Convert Farenheit to Celcius\n>\t'))

答案 1 :(得分:0)

其他答案会让你中途停留,但在脚本中处理输入的更好方法是这样的:

def input_type(prompt, outputType):
    while TrueL
        try:
            return outputType(input(prompt))
        except ValueError:
            print("Invalid input. Required type is {}".format(outputType.__name__))

然后,您可以将input的第一个电话号码替换为input_type(<your prompt>, int),将第二个电话号码替换为input_type(<your prompt>, float)而不更改其余代码。

作为旁注 - 你从华氏温度转换为摄氏温度是不对的。您可能希望通过从摄氏温度转换为华氏温度并再次返回来测试它。

答案 2 :(得分:-1)

你不小心依赖于这样一个事实,即在Python 2中,input()将解析输入,而不仅仅是将其作为字符串返回。所以&#34; 1&#34; (str)变为1(int)。但是在Python 3中,raw_input()执行if select_one == 1: 以前的操作,因此返回的值始终是一个字符串。

要解决此问题,请更改此信息:

if select_one == "1":

对此:

=SUM(COUNTIF(C5:G5, IF(D$12:D$14="y", C$12:C$14)))