Я пытаюсь выполнить скрипт python, где я ввожу аргумент в командную строку. Программа temperature.py так, если я ввести:if then statement with sys.argv in python
./temperature.py 56
sys.argv [1] = 56
Теперь программа как таковая:
import sys
temp=sys.argv[1]
print temp
if temp < 65:
print "Temperature is Cold"
else:
print "Temperature is warm"
на основе выше логики, я бы ожидать, что если бы я вошел в оперативное
./temperature.py 56
температура будет 56, который меньше, чем 65, так что я мог бы ответ:
"Температура холодна"
но Я получаю ответ:
«Температура тепла»
независимо от того, какую температуру я ставлю в аргументе. Я до сих пор получаю правильное значение темпа, равное правилу первого аргумента (56), поэтому я не понимаю, почему логика не работает в инструкции if then. Как заставить логику работать так, что когда я вхожу в температуру менее 65 (т.е. ./temperature.py 56), я получаю ответ «Температура холодная», и если я вхожу в температуру более 65 (то есть ./temperature .py 75), я бы получил температуру реакции теплым? Есть идеи?
вам нужно преобразовать аргумент '' int', темп = INT (sys.argv [1]) ' – Kasramvd
Вам необходимо преобразовать в целое число. 'temp = int (sys.argv [1])' – RedX
@ То, что вы видите весь его код - он использует 'sys.argv' для захвата аргументов и не анализирует их :) –