iT邦幫忙

0

資料結構_輸入輸出字元比對

  • 分享至 

  • xImage
  •  

題目

  • Input : 正整數,不可超過20位數
  • Output : 將輸入的數*2倍,判斷2倍後的數裡所有字元是否全為輸入字元,同時輸入的數裡的所有字元也要全部存在於2倍數中,如果符合輸出"Yes",反之輸出"No"
  • Output :輸入的數的2倍值
  • Example:
    Input : 123456789
    Output : Yes
    Output : 246913578

第一版,(錯一題測資)

  • [測資]輸入中有數字不在結果裡,但結果都在輸入中
  • 假設輸入12、輸出2,若只跑Output(2)的迴圈可確定2在12裡,但12卻沒都在2裡,沒完全符合
sInput = input()

i_double = int(sInput) * 2
for i in str(i_double):
    if not i in sInput:
        print('No')
        print(i_double)
        break
else:
    print('Yes')
    print(i_double)

第二版

  • [解決]輸入中有數字不在結果裡,但結果都在輸入中
  • 跑完Output()的迴圈後,再跑一次Input的迴圈
sInput = input()

i_double = int(sInput) * 2
for i in str(i_double):
    if not i in sInput:
        print('No')
        print(i_double)
        break
else:
    for j in sInput:
        if not j in str(i_double):
            print('No')
            print(i_double)
            break
    else:
        print('Yes')
        print(i_double)
'''
[測資]輸入中有數字不在結果裡,但結果都在輸入中
輸入12,輸出2,若只跑完Output(2)的迴圈可確定2在12裡,但12卻沒都在2裡,沒完全符合需print("No")
python 有for else,若其他語言要加個boolean判斷,否則會一直print('Yes')
'''

本文純自己做題目之筆記,如有更好的方法再麻煩各位指教~~


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言