ここから本文です

これのやり方を教えてください。 言語はPython。##(1)##にc+32、##(2)##にc-32と...

アバター

ID非公開さん

2017/11/1619:49:05

これのやり方を教えてください。
言語はPython。##(1)##にc+32、##(2)##にc-32とか入れてみたんですが、構文的にダメみたいでした。

できれば解説もお願いします!面倒くさければ答えだけでも十分です^^

補足画像が見にくかったのでURLで貼っておきます。

https://gyazo.com/bac2ff0d2ecbef5f5a3265b9c49fdb2a

C32,Python,構文的,AbcDeFgH&quot,for c in text,やり方,言語

閲覧数:
24
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

nam********さん

2017/11/1620:08:08

text = "AbcDeFgH"

for c in text:
    if ord(c) < 96: # 大文字なら
        print(chr(ord(c)+32))
    else: # 小文字なら
        print(chr(ord(c)-32))

""" 出力 :
a
B
C
d
E
f
G
h
"""

  • nam********さん

    2017/11/1620:12:38

    """
    chr()に番号を渡すと文字に、
    ord()に文字を渡すと番号になりますから、

    このようにord(c)+32、ord(c)-32とすることで目的を果たせます。

    ただ処理が重複してるので、以下のように書いた方がいいような気もします。
    """

    text = "AbcDeFgH"

    for c in text:
        n = ord(c)
        if n < 96: # 大文字なら
            print(chr(n+32))
        else: # 小文字なら
            print(chr(n-32))

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

アバター

質問した人からのコメント

2017/11/16 20:13:35

ありがとうございます!基本がよくわからなかったのでこれで応用もできそうです!

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる