pythonのコードの意味について

このQ&Aのポイント
  • pythonを勉強中の方が星座を求めるコードの意味を質問しています。
  • コードの最後の行で使われている「>」の意味が分からないとのことです。
  • 関連するコードや変数の説明も含めて教えてほしいとのことです。
回答を見る
  • ベストアンサー

python >の意味

お世話になっております。pythonを勉強しておりまして、星座を求めるコードを見たのですが最後の行のコードが理解できませんでした。 print a[ m-13 + (d > b[m-1]) ] の>というのはどういう意味なのでしょうか。 よろしくお願いいたします。 # -*- coding: utf-8 -*- a = [u'山羊座', u'水瓶座', u'魚座', u'牡羊座', u'牡牛座', u'双子座', u'蟹座', u'獅子座', u'乙女座', u'天秤座', u'蠍座', u'射手座'] b = [20, 19, 20, 20, 20, 21, 23, 23, 23, 23, 22, 22] m = int(raw_input('月を入力してください: ')) d = int(raw_input('日を入力してください: ')) print a[ m-13 + (d > b[m-1]) ]

  • Python
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • DJ-Potato
  • ベストアンサー率36% (692/1917)
回答No.1

これは、条件式で、条件が真なら1を、偽なら0を返すということでしょう。 1月は山羊座だけど、21日以降は+1して2月の水瓶座になります、ということかと。

sakusaku1938
質問者

お礼

DJ-Potato様 早々のご回答、ありがとうございました。 おかげでこの意味がすっきり理解できました。 DJ-Potato様のお助けがなければ諦めているところでした。 ありがとうございました!

関連するQ&A

  • ホロスコープの鑑定をお願いしたいです

    最近ホロスコープに興味を持ち、作成サイトで作ってはみたものの・・・ 鑑定に四苦八苦しています。 どなたか詳しい方に鑑定していただけると嬉しいです。 ↓私のホロスコープです↓ 1977年3月16日 10:51 岡山県玉野市生まれ  太陽  魚座 月  水瓶座 水星  魚座 金星  牡羊座 火星  水瓶座 木星  牡牛座 土星  獅子座 天王星  蠍座 海王星  射手座 冥王星  天秤座 ASC  双子座 IC  乙女座 DSC  射手座 MC  魚座 龍頭  天秤座 龍尾  牡羊座 リリス  牡牛座 1室  双子座 2室  蟹座 3室  獅子座 4室  乙女座 5室  天秤座 6室  蠍座 7室  射手座 8室  山羊座 9室  水瓶座 10室  魚座 11室  牡羊座 12室  牡牛座 よろしくお願いします。

  • Python について質問です

    私はPythonの初心者です。 今Python でCSVのファイルを読んで数値だけ(数値以外に文字列や空白などがあります)を計算処理出来なくて困っています。教えて頂けませんか? 質問は、BB.csvというファイルの数値だけの合計と平均を計算したいです。 私のコードは以下です。 # coding: utf-8 import csv import re import string DATAFILE = 'BB.csv' class UnicodeDictReader(csv.DictReader): def __init__(self, f, fieldnames=None): csv.DictReader.__init__( self, f, fieldnames) def main(): total = 0 all_sum = 0 line_num = 0 with open(DATAFILE) as csvfile: reader = UnicodeDictReader(csvfile) for record in reader: # 値を数値で取得 A = int(record['38186']) B = int(record['38181']) C = int(record['38143']) item_total = A + B + C total = item_total all_sum += item_total line_num += 1 average = all_sum / reader.line_num print(" %d + %d + %d = %d " % ( A, B, C, total)) print(u"合計 %d " % all_sum) print(u"平均 %d " % average) if __name__ == '__main__': main() BB.csvは以下です、 38186,38181,38143 1,1,4 1,1,4 ,, ,, 2020,2020,2020 1412,1412,1412 625,625,625 75,75,75 75,75,75 75,75,75 75,75,75 4,4,4 4,4,4 4,4,4 7828,7828,7828 X,, 0,0,0 0,0,0 ○,, 0,0,0 0,0,0 0,0,0 ,,AAA 0,0,0 0,0,0 0,0,0 ,BBB, 0,0,0 0,0,0 0,0,0 ,, 0,0,0 ,, 0,0,0 0,0,0 ,, 0,0,0 0,0,0 750,750,750 400,400,400 400,400,400 ,, 0,0,0 0,0,0 0,0,0 ,, 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 6,6,6 6,6,6 18,18,18 18,18,18 18,18,18 18,18,18 18,18,18 16,16,16 16,16,16 6,6,6 6,6,6 18,18,18 18,18,18 18,18,18 18,18,18 18,18,18 11,11,11 11,11,11 11,11,11 3,3,3 3,3,3 3,3,3 3,3,3 4,4,4 4,4,4 3,3,3 3,3,3 16,16,16 16,16,16 16,16,16 14,8,11 8,14,11 8,14,11 8,14,11 8,14,11 8,14,11 8,14,11 8,14,11 8,14,11 15,15,15

  • ホロスコープについて

    以下のホロスコープについて、性格などを少しでも知りたいです。 性別は女性です。 専門家の方など、もし解読できる方がいらっしゃれば教えてください。 太陽:やぎ座             第1室:しし座 月 :やぎ座             第2室:おとめ座 水星:やぎ座             第3室:てんびん座   金星:いて座             第4室:さそり座      火星:てんびん座           第5室:いて座 木星:いて座             第6室:やぎ座 土星:さそり座            第7室:みずがめ座 天王星:いて座            第8室:うお座 海王星:いて座            第9室:おひつじ座 冥王星:さそり座           第10室:おうし座                    第11室:ふたご座                    第12室:かに座

  • ホロスコープについて。女性です。

    ホロスコープについて。女性です。 自分の性格を少しでも理解したいので、ホロスコープに詳しい方宜しくお願いします。 補足で、全体的に射手座が多い場合は、射手座気質が強いんでしょうか? 飽きっぽい性格は自覚してます。 太陽 てんびん座        月 ふたご座 水星 おとめ座 金星 しし座 火星 しし座 木星 いて座 土星 さそり座 天王星 いて座 海王星 いて座 冥王星 てんびん座 第1室(ASC) うお座 第2室 おひつじ座 第3室 おうし座 第4室(IC) ふたご座 第5室 かに座 第6室 しし座 第7室(DSC) おとめ座 第8室 てんびん座 第9室 さそり座 第10室(MC) いて座 第11室 やぎ座 第12室 みずがめ座

  • pythonでフィボナッチ数カウントを行いたいのですが...

    pythonで、入力された二つの数字によるrange(a, b)内からフィボナッチ数の数をカウントするプログラムを書きたいのですが、どのように書けば良いでしょうか?因みに、今のところ a=int(raw_input("Enter the minimum valuer:")) b=int(raw_input("Enter the maximum value:")) def fib(n): if n <= 0: n = 0 elif n == 1: n = 1 else: n = fib(n-1) + fib(n-2) return n for i in range(a, b+1): まで書いてみたのですが、この後どうしたら良いかわからなくなってしまいました。 初歩的な質問なのですが、どうかご回答よろしくお願いします。

  • Python: matrix追加でNoneの理由

    下記の#入力とPython #コード の実行で、「出力結果」が出ます #▼Aのところで、 matrix.append(d) を可視化しようとしたら None しか返りません 想像では入力の2行目以降が順次追加されていくイメージを想像していました [[11, 14, 16, 9]] [[11, 14, 16, 9], [11, 14, 16, 9]]  : 質問: 1)この#▼Aの下の行でNoneしか返らない理由をおしえてください 2)matrixに追加されて形成される行列は、単純にメモリ上で形成されていると考えていいですか? #入力 3 11 14 16 9 13 15 19 10 10 11 14 11 #コード N = int(input()) # 空のリストを作成 matrix = [] for i in range(N): # 入力を受け取り、リストに変換 d = list(map(int, input().split())) # リストをmatrixに追加 matrix.append(d) #▼Aここでmatrixを可視化しようとした print(matrix.append(d)) print(app) #▼Bここでもmatrixを可視化しようとした print(matrix) # 1行目の要素0 first_element = matrix[0][0] print(first_element) #11 #==出力結果================== None None None None None None [[11, 14, 16, 9], [11, 14, 16, 9], [13, 15, 19, 10], [13, 15, 19, 10], [10, 11, 14, 11], [10, 11, 14, 11]] 11

  • ジョナサン・ケイナー西洋占星術 天体位置表とカスプ表結果から見て

    以下は私の出生年月日より計算された天体位置表とカスプ表なのですが、 どうやって見てよいのかわかりません。 ここから、どういった性格とか傾向があるとか、わかるのでしょうか? おおまかには、 太陽星座は「なりたい自分」、月星座は「本当の自分」、上昇宮星座(ASC)は「他から見られる自分」をあらわすと聞いております。 他にどういったことが、この表のなかでわかるのか、お詳しい方ぜひ教えてください。お願い致します。 太陽:山羊座 月:乙女座 水星:水瓶座 金星:射手座 火星:双子座 木星:牡羊座 土星:蟹座 天王星:蠍座 海王星:射手座 冥王星:天秤座 第1室(ASC):天秤座 第2室:蠍座 第3室:射手座 第4室(IC):山羊座 第5室:魚座 第6室:魚座 第7室(DSC):牡羊座 第8室:牡牛座 第9室:双子座 第10室(MC):蟹座 第11室:乙女座 第12室:乙女座

  • Python 構文のミスについて。

    プログラミングの初心者です。 下のプログラミングですが、どこが間違えているのでしょうか? まず数字を入力して、それがコンピュータがランダムに選んだ数字と同じ であれば、あたりが表示され、ちがうのであればはずれと表示するのですが、 何回数字を入力しても、はずれしか表示されません、どうしてでしょうか、 ご指摘よろしくお願いします。 #coding:shift-jis import random try: while True: num_1 = range(10) num_2 = raw_input('数字を入力してください\n') if len(num_2) == 0: break if num_2 == random.randint(num_1): print('あたりです') else: print('はずれです') except: print('error!') print('終わり')

  • pythonのエラーについて教えて下さい。

    pythonの勉強をおこなっている超初心者です。 ネットでみた。以下のサンプルコードを実行しようとしました。 # -*- coding: utf-8 -*- print u'モジュールのロード' def test(): print u'関数:testを呼び出しました' if __name__ == '__main__': print 'python-izm' # print 'パイソンイズム' test() しかし、以下の様なエラーとなってしまいます。 File ”test02.py"、line 9 print ’python-izm'  ^ indentionError:expected an indented block ネット調べてみたとことpythonのインデントのエラーだとわかりました。 pythonはインデントで実行範囲を認識するので、 そこがうまく記述できていないであろうとは思うのですが、何回か試したのですが うまく動いてくれません。 どなたか御指南下さい。

  • python 代数を定義

    list = ['a', 'b', 'c', 'd'] X = list .pop() print(list) このコードを実行すると、print(list) の結果として ['a', 'b', 'c'] が得られることになります。 しかし私としては、['a', 'b', 'c', 'd']とならないのが不可解なのです。 なぜなら、2行目の X = list .pop() は代数Xを定義しているにすぎず、リストであるlistには影響を与えていないと思うのです。 (print(X) が ['a', 'b', 'c'] となれば納得するのですが、もちろんこの答えはdとなります。) pythonの文法上なぜこうなるのか教えて頂きたいです。

専門家に質問してみよう