1. 程式人生 > 遊戲 >日本大型二手遊戲連鎖店GEO終止PS1/2操作 庫存一律50日元

日本大型二手遊戲連鎖店GEO終止PS1/2操作 庫存一律50日元

作業要求

用Python或Scratch實現下面虛擬碼描述的進位制轉換程式,提交執行結果截圖,至少三張,包含轉換為二進位制,八進位制,十六進位制的截圖。

Write "Enter the new base"
Read newBase
Write "Enter the number to be converted"
Read decimalNumber
Set quotient to 1
WHILE (quotient is not zero)
Set quotient to decimalNumber DIV newBase
Set remainder to decimalNumber REM newBase
Make the remainder the next digit to the left in the answer
Set decimalNumber to quotient
Write "The answer is "
Write answer

轉化程式碼

print("Enter the new base")
nb=int(input())
print("Enter the number to be converted")
dn=int(input())
q=1
answer=[]
while q!=0:
q=dn//nb
r=dn%nb
if r= =10:
i='A'
elif r= =11:
i='B'
elif r= =12:
i='C'
elif r= =13:
i='D'
elif r= =14:
i='E'
elif r= =15:
i='F'
else:
i=str(r)
answer+=i
dn=q
print("The answer is")
answer1=answer[::-1]
for k in answer1:
print(k,end="")

轉化為python語言中遇到的問題

  • 問題一
    i運算完之後得到的為int型別,無法直接作為answer的元素
  • 解決方案
    用str函式,將int轉為str
  • 問題二
    輸出的answer是倒過來的,怎麼反向輸出?
  • 解決方案
    可以通過列表的自帶定義[::-1]反向
    或者使用函式reverse
  • 問題三
    怎麼讓輸出的列表變成數字
  • 解決方案
    用for語句,使元素逐個輸出,並用end=“”,去掉enter