Răspuns :
a)
def read_number():
while True:
try:
number = int(input("Enter number: "))
return number
except ValueError:
print("That's not a number. \nLet's try again. \n")
number = read_number()
digits = list()
for digit in str(number):
if int(digit) not in digits:
digits.append(int(digit))
digits.sort(reverse=True)
zero = 0
while digits[zero] == 0:
zero += 1
index = zero + 1
big_number = digits[zero]
while zero:
big_number *= 10
zero -= 1
while index < len(digits):
big_number = big_number * 10 + digits[index]
index += 1
print(big_number)
b)
def read_number():
while True:
try:
number = int(input("Enter number: "))
return number
except ValueError:
print("That's not a number. \nLet's try again. \n")
number = read_number()
digits = list()
for digit in str(number):
digits.append(int(digit))
digits.sort(reverse=True)
zero = 0
while digits[zero] == 0:
zero += 1
index = zero + 1
big_number = digits[zero]
while zero:
big_number *= 10
zero -= 1
while index < len(digits):
big_number = big_number * 10 + digits[index]
index += 1
print(big_number)
c)
def read_number():
while True:
try:
number = int(input("Enter number: "))
return number
except ValueError:
print("That's not a number. \nLet's try again. \n")
number = read_number()
digits = list()
for digit in str(number):
digits.append(int(digit))
digits.sort()
zero = 0
while digits[zero] == 0:
zero += 1
index = zero + 1
big_number = digits[zero]
while zero:
big_number *= 10
zero -= 1
while index < len(digits):
big_number = big_number * 10 + digits[index]
index += 1
print(big_number)
d)
def read_number():
while True:
try:
number = int(input("Enter number: "))
return number
except ValueError:
print("That's not a number. \nLet's try again. \n")
number = read_number()
digits = list()
for digit in str(number):
if int(digit) not in digits:
digits.append(int(digit))
digits.sort()
zero = 0
while digits[zero] == 0:
zero += 1
index = zero + 1
big_number = digits[zero]
while zero:
big_number *= 10
zero -= 1
while index < len(digits):
big_number = big_number * 10 + digits[index]
index += 1
print(big_number)
Am folosit acelasi algoritm pentru toate cerintele, cu modificari minuscule.
Cred ca poti observa ca diferenta dintre varianta cu cifrele "luate o singura data" si varianta cu "luate de cate ori apar" este lipsa, respectiv prezenta liniei 13, "if int(digit) not in digits_list:", iar diferenta dintre ordinea cifrelor este variabila "reverse" a listei: daca e True numarul e maxim, altfel e minim.
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Ne bucurăm să vă revedem și vă invităm să ne adăugați în lista de favorite!