Python :: Aufgabe #59

1 Lösung Lösung öffentlich

Berechnung der Anzahl der SMS Teile

Anfänger - Python von pocki - 26.11.2014 um 12:13 Uhr
Schreibe ein Programm, dass eine Textdatei entgegen nimmt und einliest. Dabei soll pro Zeile der Textdatei eine beliebig lange Zeichenfolge eine SMS darstellen.
Zu jeder Zeile soll dann die Anzahl der dafür benötigten SMS ausgegeben werden.
Zu beachten ist, dass das erste SMS 160 Zeichen, das zweite SMS 150 Zeichen und jede weitere SMS 140 Zeichen lang sein kann.

(Die Zeichenkodierung kann vernachlässigt werden. Es wird angenommen, dass die GSM-7-bit Kodierung verwendet wird)

Lösungen:

vote_ok
von hsiemens (290 Punkte) - 25.01.2017 um 17:21 Uhr
Quellcode ausblenden Python-Code

import os, sys
import time


def sms():
	
	file = open(input("Path: ")).readlines()
	lines = len(file)
	print("lines = "+str(lines)+"\n\n")

	sms=2
	x=0
	for x in range(lines):
		line_length = len(file[x])
		
		if line_length > 160:
			line_length-=160
			if line_length > 150:
				while line_length > 140:
					sms+=1
					line_length-=140
				print("Die "+str(x+1)+". Zeile braucht "+str(sms)+" SMS")
			else:
				print("Die "+str(x+1)+". Zeile braucht 2 SMS")
		else:
			print("Die "+str(x+1)+". Zeile braucht 1 SMS")

def main():
	os.system("cls")
	sms()
	sys.exit(0)

if __name__ == '__main__':
  main()