好的,所以我迷失了,并坚持如何取得进一步的进展。 该程序将用户输入的基数的值返回到像[1,2,2]这样的列表中。 我想做两件事。首先,而不是像
这样的单一数字userInt = 50
我希望能够输入
userList = [50, 3, 6, 44]
然后让公式将每个数字转换为正确的基数。
因此,如果我将其转换为基数6,我希望结果为:
userNewList = [122, 3, 10, 112]
我已尝试使用for循环,但无法正确使用并最终只是通过int不是可迭代类型错误。
def baseConversion(userInt, base):
remList = []
while(userInt > 0):
remList.append(userInt % base)
userInt = userInt // base
return (remList[::-1])
def main():
base = int(input('Enter a base: '))
userInt = 50
remList = baseConversion(userInt, base)
baseConversion(userInt, base)
print(remList)
main()
感谢您提供的任何帮助。
答案 0 :(得分:1)
使用Python 2.7,但你可以得到这个想法:
>>> def baseConversion(userInt, base):
remList = ''
while(userInt > 0):
remList += str(userInt % base)
userInt = userInt // base
return int(remList[::-1]) # If you are just printing, you don't need to convert to int.
>>> def main():
base = int(raw_input('Enter a base:'))
userInt = [int(s.strip()) for s in raw_input('Enter numbers (comma separated):').split(',')]
result = [baseConversion(i, base) for i in userInt]
print result
>>> main()
Enter a base:6
Enter numbers (comma separated):50,3,6,44
[122, 3, 10, 112]