RGB値を16進数に変換する電卓を作っています。私がコーディングしていたときに、同じコードを3回書いて赤、緑、青のユーザー入力を確認したことが分かりました。だから私は、私の変数をチェックするための関数を使わないでください!ここに私のコードです:変数をチェックして変更する機能
invalid_msg = 'Whoops looks like you have entered incorrect information'
def check_rgb(var):
while var > 255 or var < 0:
print invalid_msg
var = int(raw_input('Please enter a value between 0 and 255:'))
return var
def rgb_hex():
red = int(raw_input('Enter your value for red.'))
check_rgb(red)
green = int(raw_input('Enter your value for green.'))
while green > 255 or red < 0:
print invalid_msg
green = int(raw_input('Enter your value for green.'))
blue = int(raw_input('Enter your value for blue.'))
while blue > 255 or red < 0:
print invalid_msg
blue = int(raw_input('Enter your value for blue.'))
val = (red << 16) + (green << 8) + blue
print '%s' % (hex(val)[2:]).upper()
rgb_hex()
問題は変数を再宣言することです。今は、関数に入力された値を赤ではなく変数 'var'に格納します。
pastebinにiframeではなく、質問にコードを貼り付けます。 – Li357