如何将不同的整数组合成一个以显示结果,例如来自
的1234567print("Enter the first digit")
Digits1 = int(input())
print("Enter the second digit")
Digits2 = int(input())
print("Enter the third digit")
Digits3 = int(input())
print("Enter the fourth digit")
Digits4 = int(input())
print("Enter the fifth digit")
Digits5 = int(input())
print("Enter the sixth digit")
Digits6 = int(input())
print("Enter the final digit")
Digits7 = int(input())
print("The 7 digit code is {0}{1}{2}{3}{4}{5}{6}".format (Digits1,Digits2,Digits3,Digits4,Digits5,Digits6,Digits7))
我不希望所有数字都按照我在打印中的方式放在一起,我希望所有数字都在一个变量中的一行中。
答案 0 :(得分:1)
使用列表
digit_list = []
print("Enter the first digit")
digit_list_append(str(input())) # If you gonna join them, keep them as strings
...
# And join them
"".join(digit_list)
如果需要,可以将input
部分放在一个循环中,逐个获取n
个数字并将其添加到列表中
digit_list = []
for _dig in range(1, 8): # Loop 7 times
print("Enter {n}th digit:".format(n=_dig))
digit_list_append(str(input()))
print "".join(digit_list)
答案 1 :(得分:1)
int(''.join(str(el)
for el in [Digits1, Digits2, Digits3, Digits4, Digits5, Digits6, Digits7]))
答案 2 :(得分:1)
您可以将它们全部存储在为每个数字连接的字符串中。所以永远不要将输入转换为int。
set datefirst 1 /* monday */
declare @v_date_start datetime
declare @v_date_stop datetime
set @v_date_start = '2015-05-01'
set @v_date_stop = '2020-10-01'
;with date_cte
as
(
select @v_date_start [date]
union all
select dateadd(day, 1, cte.date) [date]
from date_cte [cte]
where dateadd(day, 1, cte.date) <= @v_date_stop
)
select cte.date
, datename(dw, cte.date) [day_name]
from date_cte [cte]
where datepart(dw, cte.date) in (6,7)
option (maxrecursion 0)
答案 3 :(得分:1)
基本上是基础10问题:
number = math.pow(10,6) * Digits7 + math.pow(10,5) * Digits6 + math.pow(10,4) * Digits5 + math.pow(10,3) * Digits4 + math.pow(10,2) * Digits3 + math.pow(10,1) * Digits2 + math.pow(10,0) * Digits1
答案 4 :(得分:0)
这将主要起作用,但会错过一个前导零,并且至少是可配置的:
total=0
count=7
while count > 0:
print("Enter digit")
digit = int(input())
total = total * 10 + digit
count = count - 1
print("The total is {0}".format(total))
答案 5 :(得分:0)
如果您更喜欢整数运算而不是字符串运算,那么positional notation呢?
composed_number = digit_4 * pow(10, 4) \
+ digit_3 * pow(10, 3) \
+ digit_2 * pow(10, 2) \
+ digit_1 * pow(10, 1) \
+ digit_0 * pow(10, 0) \
print(composed_number) # 43210
答案 6 :(得分:0)
首先,我会使用一个列表来存储数字,你可以这样填充数字:
number_of_digits = 7
digits = [] # this is an empty list
for i in range(number_of_digits):
print("Enter digit {0}".format(i))
digits.append(int(input()))
完成后,您可以使用str.join函数和一些列表理解将它们连接在一起:
code = "".join(str(x) for x in digits)
print("The {0} digit code is {1}".format(number_of_digits, code))
答案 7 :(得分:0)
试试这段代码
digists = []
print('enter the digist, input ! to stop.')
num = input()
while num != '!':
digists.append(num)
num = input()
i,num = 0,0
for d in reversed(digists):
num = num + 10**i*int(d)
i += 1
print(num)
答案 8 :(得分:0)
有几种方法可以解决这个问题,例如:
一次输入所有7位数字:
number = int(input('Enter 7 digit number: '))
或者将数字放在列表中:
digits = [int(input('Enter the {ordinal} digit: '.format(ordinal=ordinal))
for ordinal in "first second third fourth fifth sixth final".split()]
并使用小数位运算将列表转换为数字
(123 = 1*100 + 2*10 + 3 = (1*10 + 2)*10 + 3
):
from functools import reduce
number = reduce(lambda x,y: x*10 + y, digits)
或使用str
获得相同的结果:
number = int(''.join(map(str, digits)))
注意:如果您必须保留现在输入数字的方式,那么您可以将digits
列表定义为:
digits = [Digits1, Digits2, Digits3, Digits4, Digits5, Digits6, Digits7]