用python写:输入一个整数和要转换的进制(2,8,16),转换为相应的进制数,不许用函数,要求编程计算并使用列表的方式存储,输出该列表。 要求判断输入数据的有效性。
时间: 2024-10-01 11:03:54 浏览: 33
你可以使用Python的基本数学运算和条件判断来实现这个功能。下面是一个简单的示例,它会提示用户输入整数和进制,并检查其有效性。如果输入有效,它将计算并将结果存储在一个列表中:
```python
def base_conversion():
while True:
try:
num = int(input("请输入一个整数:"))
base = int(input("请输入要转换的进制 (2, 8, 16): "))
# 检查进制是否合法
if base not in [2, 8, 16]:
print("无效的进制,只接受2、8和16。")
continue
result_list = []
for digit in str(num):
result_list.append(chr(ord('0') + int(digit) % base))
num //= base
# 如果数字已经转换完,反转列表(因为最右边的位是最低位)
if num == 0:
result_list.reverse()
print(f"转换后的数字({base} 进制): {''.join(result_list)}")
break
except ValueError:
print("无效的输入,请输入一个整数。")
# 执行转换函数
base_conversion()
```
在这个程序中,我们首先获取用户输入的整数和进制,然后通过循环对整数进行除法和取余操作,每次取余得到的数字对应新进制下的一个位。同时,我们使用`ord()`和`chr()`函数处理字符转换,确保得到正确的字符表示。
阅读全文