Προς το περιεχόμενο

2 εργασιες σε Python


Giannis Xaf

Προτεινόμενες αναρτήσεις

  • Απαντ. 43
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Ένας λόγος για να μην το δημοσιεύσεις; Έχεις υπόψιν σου την σκοπιμότητα των forums; Η ανταλλαγή γνώσεων. Εσύ μπήκες εδώ μέσα πρώτο ποστ και παρήγγειλες λύσεις, τις οποίες σου παρείχαμε. Από την άλλη μένεις ανώνυμος και δεν ποστάρεις καν λύσεις για τις ασκήσεις τις οποίες υποτίθεται ότι έχεις λύσει. Φιλικά πάντα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Είπες ότι τα έλυσες. Συγνώμη που κάνω τον δικηγόρο του διαβόλου. Θέλουμε το γινόμενο των ψηφίων να διαιρεί τον αριθμό. Αυτό που είναι;


Edit: Έσβησες τον "δικό σου" και πόσταρες τον δικό μου βλέπω καλά;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Είπες ότι τα έλυσες. Συγνώμη που κάνω τον δικηγόρο του διαβόλου. Θέλουμε το γινόμενο των ψηφίων να διαιρεί τον αριθμό. Αυτό που είναι;

Το μονο που δεν ειχα κανει αυτο ηταν αλλα σε λιγο θα αρχισουν να με βριζουν αμα ζητησω και για αυτο βοηθεια.

 

 

Είπες ότι τα έλυσες. Συγνώμη που κάνω τον δικηγόρο του διαβόλου. Θέλουμε το γινόμενο των ψηφίων να διαιρεί τον αριθμό. Αυτό που είναι;

Edit: Έσβησες τον "δικό σου" και πόσταρες τον δικό μου βλέπω καλά;

προσπαθω να σβησω τα μηνυματα,καταλαθος το εκανα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν έχουν ψυχολογικά, γτ να σε βρίσουν ρε φίλε; Ποστάρεις κώδικα από το google χωρίς το ερώτημα με το γινόμενο γτ προφανώς το search "number divisible by product of digits python" έβγαζε άκυρα πράγματα. Μετά παίρνεις τον δικό μου και τον κάνεις παράθεση από πάνω στον jokul7 για να του αποδείξεις ότι έχεις κάνει τις εργασίες. Και επίσης έχεις τέσσερις κενές παραθέσεις με πράγματα που έγραψες και μετά για κάποιον λόγο που ξέρεις μόνο εσύ τα διέγραψες. 


Edit: Άσε να έχουμε τις αμφιβολίες μας για αυτό. Κάποιος λόγος θα υπήρχε που το έκανες Copy.

post-374281-0-12108500-1485273555_thumb.png

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν έχουν ψυχολογικά, γτ να σε βρίσουν ρε φίλε; Ποστάρεις κώδικα από το google χωρίς το ερώτημα με το γινόμενο γτ προφανώς το search "number divisible by product of digits python" έβγαζε άκυρα πράγματα. Μετά παίρνεις τον δικό μου και τον κάνεις παράθεση από πάνω στον jokul7 για να του αποδείξεις ότι έχεις κάνει τις εργασίες. Και επίσης έχει τρεις κενές παραθέσεις με πράγματα που έγραψες και μετά για κάποιον λόγο που ξέρεις μόνο εσύ τα διέγραψες. 

Edit: Άσε να έχουμε τις αμφιβολίες μας για αυτό. Κάποιος λόγος θα υπήρχε που το έκανες Copy.

και ξανα λεω εγινε καταλαθος,τα κενα τα αφηνω επειδη δεν γινεται να τα διαγραφω και γιαυτο τα αφηνω κενα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 

Πρώτη
------------------------------
def ZerosAtTheEnd(List):
    position=0
    for i in range(0,len(List)):
        if List[position]==0:
            List.append(List[position]);
            List.remove(List[position]);
        else:
            position+=1
            continue
    return List

 
Δεύτερη
----------------------
DivisibleBySum=[]
DivisibleByProduct=[]
for i in range(1,1001):
    string=str(i)
    SumOfDigits=0
    ProductOfDigits=1
    for j in range(0,len(string)):
        SumOfDigits+=int(string[j])
        ProductOfDigits*=int(string[j])
    if i%SumOfDigits==0:
        DivisibleBySum.append(i)
    if ProductOfDigits==0:
        continue
    if i%ProductOfDigits==0:
        DivisibleByProduct.append(i)
print('Divisble By Sum')
print('-----------------')
print(DivisibleBySum)
print(' ')
print('DivisibleByProduct')
print('--------------------')
print(DivisibleByProduct)

 

@Lolarikos

nice try, αλλά σε Python είπαμε, όχι basic :P

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για τη δεύτερη άσκηση νομίζω ότι η πρόσθεση των ψηφίων όπως και ο πολλαπλασιάσμος τους κάνουν αρκετή δουλειά και δικαιούνται να είναι από μόνα τους μια ξεχωριστή συνάρτηση

ίσως όπως παρακάτω 

def add_digits(a):
  return sum((int(i) for i int str(a))

from functools import reduce  
def mul_digits(a):
  return reduce(lambda x,y *y,(int (i) for i in str(a)))

και μετά μπορούμε να γράψουμε και την main

def harshad():
  harshad=list((i for i in range(1,1001) if i%add_digits(i)==0))
  print(harshad)
  
  harshad_non_0_mul=(i for i in harshad if mul_digits(i)!=0)
  harshad_mul=list(i for i in harshad_non_0_mul if i%mul_digits(i)==0)
  print(harshad_mul)

Ο δικός μου κώδικας σε σχέση με του Lolarikos είναι λίγο πιο περίπλοκος και χρησιμοποιεί πιο πολύ τις δυνατότητες της python.

Έχει όμως το μειονέκτημα ότι είναι πιο δυσνόητος για άτομα εκτός python ή σχετικά αρχάριους.  

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επισκέπτης
Αυτό το θέμα είναι πλέον κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...