2.编写代码,实现将用户输入的十进制整数转换为指定进制(二进制、八进制、十六进制)的功能。要求分别用到%格式化、format()方法、f-string三种方式进行输出。python
时间: 2024-09-26 07:19:00 浏览: 39
在Python中,你可以使用`bin()`、`oct()`和`hex()`内置函数来进行基础的进制转换,也可以通过字符串格式化来实现。以下是三种方法的示例代码:
**使用%格式化:**
```python
def dec_to_other(num, base):
return "%d in %s base is %s" % (num, base, {2: "binary", 8: "octal", 16: "hexadecimal"}[base])
decimal = int(input("Enter a decimal number: "))
print(dec_to_other(decimal, 2)) # 二进制
print(dec_to_other(decimal, 8)) # 八进制
print(dec_to_other(decimal, 16)) # 十六进制
```
**使用format()方法:**
```python
def dec_to_format(num, base):
return "Number {} in {} base is {}".format(num, base, {2: 'binary', 8: 'octal', 16: 'hex'}[base])
decimal = int(input("Enter a decimal number: "))
print(dec_to_format(decimal, 2))
print(dec_to_format(decimal, 8))
print(dec_to_format(decimal, 16))
```
**使用f-string(格式化字符串字面量):**
```python
def dec_to_fstring(num, base):
return f"Decimal {num} in {base} base is {2:02b if base == 2 else 8:03o if base == 8 else '0x{:X}'.format(num)}"
decimal = int(input("Enter a decimal number: "))
print(dec_to_fstring(decimal, 2))
print(dec_to_fstring(decimal, 8))
print(dec_to_fstring(decimal, 16))
```
在这个例子中,用户输入一个十进制数,程序会将其转换为二进制、八进制和十六进制并打印。
阅读全文