这个程序在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)
答案 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)))