返回列表 發帖

406 字串與檔案處理 (判斷字元並修改)

1. 題目說明:
請依下列題意進行作答,使輸出值符合題意要求。

2. 設計說明:
請撰寫一程式,讓使用者輸入一個長度不超過50字元的字串,該字串包含英文大小寫,將每個字元依照鍵盤的位置,輸出它們右邊的大寫或小寫英文字母。若輸入字母的右邊並非英文字母,如「P」、「L」、「M」,則不做更動,原樣輸出。

鍵盤上的英文字母位置圖



提示:若使用 Java 語言答題,請以「JP」開頭命名包含 main 靜態方法的 class,評測系統才能正確評分。

3. 輸入輸出:
輸入說明
一個長度不超過50字元的字串,字串包含英文大小寫。

輸出說明
依照鍵盤位置,輸出每個字元右邊的大寫或小寫英文字母。

範例輸入
NovemBer
範例輸出
MpbrmNrt

本帖隱藏的內容需要回復才可以瀏覽
Python
  1. keyboard = [['q','w','e','r','t','y','u','i','o','p']
  2.             , ['a','s','d','f','g','h','j','k','l']
  3.             , ['z','x','c','v','b','n','m']]

  4. def find_right_alpha(c):
  5.     global keyboard
  6.     output_c = ''
  7.     for i in range(len(keyboard)):
  8.         if c in keyboard[i]:
  9.             idx = keyboard[i].index(c)
  10.             # print(idx)
  11.             if idx == len(keyboard[i]) - 1:
  12.                 output_c = keyboard[i][idx]
  13.             else:
  14.                 output_c = keyboard[i][idx + 1]
  15.     return output_c

  16. input_str = input()
  17. output_str = ''
  18. for c in input_str:
  19.     if c.isupper():
  20.         c = c.lower()
  21.         # print(c)
  22.         output_str += find_right_alpha(c).upper()
  23.     else:
  24.         output_str += find_right_alpha(c)
  25. print(output_str)
複製代碼

  1. str1="QAZWSXEDCRFVTGBYHNUJMIKOLP"
  2. str2="WSXEDCRFVTGBYHNUJMIKMOLPLP"
  3. n=input()
  4. for i in range(len(n)):
  5.     if(ord(n[i])>=97):
  6.         idx=str1.find(chr(ord(n[i])-32))
  7.         s=str2[idx]
  8.         print(chr(ord(s)+32),end="")
  9.     else:
  10.         idx=str1.find(n[i])
  11.         s=str2[idx]
  12.         print(s,end="")
複製代碼

TOP

str1="QAZWSXEDCRFVTGBYHNUJMIKOLP"
str2="WSXEDCRFVTGBYHNUJMIKMOLPLP"

str3=input()
for i in range(len(str3)):
    if(str3[i].isupper()):
        
        idx=str1.find(str3[i])
        print(str2[idx],end="")
    else:
        s=chr(ord(str3[i])-32)
        idx=str1.find(s)
        
        s=chr(ord(str2[idx])+32)
        print(s,end="")

TOP

  1. str1="QAZWSXEDCRFVTGBYHNUJMIKOLPqazwsxedcrfvtgbyhnujmikolp"
  2. str2="WSXEDCRFVTGBYHNUJMIKMOLPLPwsxedcrfvtgbyhnujmikmolplp"
  3.          
  4. n=input()
  5. for i in range(len(n)):
  6.     ans=str1.find(n[i])
  7.     print(str2[ans],end="")
複製代碼
回復 1# 鄭繼威

TOP

  1. str1="QAZWSXEDCRFVTGBYHNUJMIKOLP"
  2. str2="WSXEDCRFVTGBYHNUJMIKMOLPLP"

  3. str3=input()
  4. for i in range(len(str3)):
  5.     if(str3[i].isupper()):
  6.         
  7.         idx=str1.find(str3[i])
  8.         print(str2[idx],end="")
  9.     else:
  10.         
  11.         s=chr(ord(str3[i]-32)
  12.         idx=str1.find(s)
  13.         
  14.         s=chr(ord(str2[idx]+32))
  15.         print(s,end="")
複製代碼

TOP

  1. str1="QAZWSXEDCRFVTGBYHNUJMIKOLP"
  2. str2="WSXEDCRFVTGBYHNUJMIKMOLPLP"
  3. str3=input()
  4. for i in range(len(str3)):
  5.     if str3[i].isupper():
  6.         idx=str1.find(str3[i])
  7.         s=str2[idx]
  8.         print(s,end="")
  9.     else:
  10.         s=chr(ord(str3[i])-32)
  11.         idx=str1.find(s)
  12.         s=chr(ord(str2[idx])+32)
  13.         print(s,end="")
複製代碼

TOP

返回列表