Posts: 4
Threads: 1
Joined: Oct 2017
Greetings .. I just started learning phyton. but I did not solve a problem .. I created a new list .. this list is contains numbers .. How can I manipulate the numbers in the list ??
barkod_numarasi=input("barkod numarası girelim")
kac_tekrar=input("kaç tekrar olsun")
while True:
if not barkod_numarasi:
print("boş bırakılamaz")
break
elif len(barkod_numarasi) < 7 or len(barkod_numarasi) > 7:
print("barkod numarası 7 'den küçük olamaz")
break
else:
print("şimdi hesaplanıyor..")
liste = [i for i in range(int(barkod_numarasi), int(barkod_numarasi) + int(kac_tekrar))]
print(liste)
break and now i created a list.. great! but how can i the manipulate the numbers?
for example:
list =[1234567,1234568,1234569]
exm . 1234567;
1*3+2+3*3+4+5*3+6+7*3
int(i[0])*3+int(i[1])+int(i[2])*3+int(i[3])+int(i[4])*3+int(i[5])+int(i[6])*3
i can't solve this.
Posts: 3,458
Threads: 101
Joined: Sep 2016
I'm guessing this is for python, as I'm not sure what phyton is. That said, you can manipulate a list's contents via the indices of the list's items: >>> items = list(range(10))
>>> items
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> items[1] = "second element"
>>> items
[0, 'second element', 2, 3, 4, 5, 6, 7, 8, 9]
Posts: 4,220
Threads: 97
Joined: Sep 2016
Oct-03-2017, 04:19 PM
(This post was last modified: Oct-03-2017, 04:21 PM by ichabod801.)
if you want to get the digits of a number, there are two ways to do it. One is to convert to string, pull out the digit, and convert it back to integer:
>>> x = 12345
>>> three = str(x)[2]
>>> int(three) + 2
5 The other way is to use the modulus operator (%) which returns the remainder after division, and integer division (//)
>>> x = 12345
>>> y = x // 100
>>> y
123
>>> three = y % 10
>>> three + 2
5
Posts: 4
Threads: 1
Joined: Oct 2017
Oct-04-2017, 10:05 AM
(This post was last modified: Oct-04-2017, 10:13 AM by ptah.)
(Oct-03-2017, 03:54 PM)nilamo Wrote: I'm guessing this is for python, as I'm not sure what phyton is. That said, you can manipulate a list's contents via the indices of the list's items:>>> items = list(range(10))
>>> items
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> items[1] = "second element"
>>> items
[0, 'second element', 2, 3, 4, 5, 6, 7, 8, 9] yes my fault sory. *Python*..my native language is not english. i learn english at my 30 years old and sometimes I have trouble with spells.
thank you for your help but i think you didn't understand what my trouble is or i didn't explain my problem..
(Oct-03-2017, 04:19 PM)ichabod801 Wrote: if you want to get the digits of a number, there are two ways to do it. One is to convert to string, pull out the digit, and convert it back to integer:
>>> x = 12345
>>> three = str(x)[2]
>>> int(three) + 2
5 The other way is to use the modulus operator (%) which returns the remainder after division, and integer division (//)
>>> x = 12345
>>> y = x // 100
>>> y
123
>>> three = y % 10
>>> three + 2
5 if you want to get the digits of a number
hi thank you for your respond. yes i want to get the digits of a number..but i made what you said but i still can't solve the problem
liste = [i for i in range(int(barkod_numarasi), int(barkod_numarasi) + int(kac_tekrar))]
three = str(liste)[2]
int(three) * 120
print(three)
print(liste) 2
[1234567, 1234568] liste=[1234567,12345678,12345679]
1 2 3 4 5 6 7
int(i[0])*3+int(i[1])+int(i[2])*3+int(i[3])+int(i[4])*3+int(i[5])+int(i[6])*3
I can not process for every number in the list.what code should we add after this code..
[liste = [i for i in range(int(barkod_numarasi), int(barkod_numarasi) + int(kac_tekrar))]
Posts: 4,220
Threads: 97
Joined: Sep 2016
This: int(i[0])*3+int(i[1])+int(i[2])*3+int(i[3])+int(i[4])*3+int(i[5])+int(i[6])*3 will work with the string method I showed you for getting at the integers. i just needs to be a string before you do this.
Posts: 4
Threads: 1
Joined: Oct 2017
(Oct-04-2017, 01:27 PM)ichabod801 Wrote: This: int(i[0])*3+int(i[1])+int(i[2])*3+int(i[3])+int(i[4])*3+int(i[5])+int(i[6])*3 will work with the string method I showed you for getting at the integers. i just needs to be a string before you do this. it doesn't work.
liste = [i for i in range(int(barkod_numarasi), int(barkod_numarasi) + int(kac_tekrar))]
three = str(liste[1])*3
print(int(three)) And the result:
barkod numarası girelim1234567
kaç tekrar olsun2
şimdi hesaplanıyor..
123456812345681234568 what the fuck. I just want to 1*3.. anyway i will search . thank you
Posts: 4,220
Threads: 97
Joined: Sep 2016
No, you convert the whole number to a string. Then you can access the individual digits with slices, like i[1]. You just need to convert those individual digits back to integers with int().
Posts: 4
Threads: 1
Joined: Oct 2017
(Oct-04-2017, 07:19 PM)ichabod801 Wrote: No, you convert the whole number to a string. Then you can access the individual digits with slices, like i[1]. You just need to convert those individual digits back to integers with int().
barkod_numarasi=input("barkod numarası girelim")
kac_tekrar=input("kaç tekrar olsun")
while True:
if not barkod_numarasi:
print("boş bırakılamaz")
break
elif len(barkod_numarasi) < 7 or len(barkod_numarasi) > 7:
print("barkod numarası 7 'den küçük olamaz")
break
else:
print("şimdi hesaplanıyor..")
liste = [str(i) for i in range(int(barkod_numarasi), int(barkod_numarasi) + int(kac_tekrar))]
for i in liste:
print(int(i[6]))
break barkod numarası girelim1234567
kaç tekrar olsun2
şimdi hesaplanıyor..
7
8 hey.. it's working..thank you so much.
|