From 343367e8c6cfee34c9653bae91434dc234ee6785 Mon Sep 17 00:00:00 2001 From: Stephen Lynn Date: Mon, 29 Jan 2024 21:38:54 +0800 Subject: pwc 254 --- challenge-254/steve-g-lynn/blog.txt | 1 + challenge-254/steve-g-lynn/perl/ch-1.pl | 10 ++++++++++ challenge-254/steve-g-lynn/perl/ch-2.pl | 26 ++++++++++++++++++++++++++ challenge-254/steve-g-lynn/python/ch-1.py | 11 +++++++++++ challenge-254/steve-g-lynn/python/ch-2.py | 25 +++++++++++++++++++++++++ 5 files changed, 73 insertions(+) create mode 100644 challenge-254/steve-g-lynn/blog.txt create mode 100644 challenge-254/steve-g-lynn/perl/ch-1.pl create mode 100644 challenge-254/steve-g-lynn/perl/ch-2.pl create mode 100644 challenge-254/steve-g-lynn/python/ch-1.py create mode 100644 challenge-254/steve-g-lynn/python/ch-2.py diff --git a/challenge-254/steve-g-lynn/blog.txt b/challenge-254/steve-g-lynn/blog.txt new file mode 100644 index 0000000000..c8fec55ec1 --- /dev/null +++ b/challenge-254/steve-g-lynn/blog.txt @@ -0,0 +1 @@ +https://thiujiac.blogspot.com/2024/01/pwc-254.html diff --git a/challenge-254/steve-g-lynn/perl/ch-1.pl b/challenge-254/steve-g-lynn/perl/ch-1.pl new file mode 100644 index 0000000000..4c0ef9fbcf --- /dev/null +++ b/challenge-254/steve-g-lynn/perl/ch-1.pl @@ -0,0 +1,10 @@ +# Perl 4.019 on DOSBOX + +sub three_power { + local( $n )=@_; + $n=($n**(1/3)); + $n==sprintf("%d",$n); +} +print &three_power(27),"\n"; #1 +print &three_power(0),"\n"; #1 +print &three_power(6),"\n"; #0 diff --git a/challenge-254/steve-g-lynn/perl/ch-2.pl b/challenge-254/steve-g-lynn/perl/ch-2.pl new file mode 100644 index 0000000000..3c0723375d --- /dev/null +++ b/challenge-254/steve-g-lynn/perl/ch-2.pl @@ -0,0 +1,26 @@ +#perl 4.019 on DOSBOX + +sub reverse_vowels { + local(@s)=split(//,$_[0]); + local(@reverse_vowels)=grep($s[$_] =~ /[aeiouAEIOU]/, 0..$#s); + @s[@reverse_vowels]=@s[reverse(@reverse_vowels)]; + &ucfirst(&lc(join('',@s))); +} + +sub lc { + local($lc)=$_[0]; + $lc =~ tr/A-Z/a-z/; + $lc; +} + +sub ucfirst { + local($ucfirst)=$_[0]; + substr($ucfirst,0,1) =~ tr/a-z/A-Z/; + $ucfirst; +} + + +print &reverse_vowels('Raku'),"\n"; #Ruka +print &reverse_vowels('Perl'),"\n"; #Perl +print &reverse_vowels('Julia'),"\n"; #Jaliu +print &reverse_vowels('Uiua'),"\n"; #Auiu diff --git a/challenge-254/steve-g-lynn/python/ch-1.py b/challenge-254/steve-g-lynn/python/ch-1.py new file mode 100644 index 0000000000..8a72a0be0f --- /dev/null +++ b/challenge-254/steve-g-lynn/python/ch-1.py @@ -0,0 +1,11 @@ + +# Python 1.4 beta on DOSBOX + +def three_power(n): + n=n**(1.0/3.0) + return (n==int(n)) + +print three_power(27) #1 +print three_power(0) #1 +print three_power(6) #0 + diff --git a/challenge-254/steve-g-lynn/python/ch-2.py b/challenge-254/steve-g-lynn/python/ch-2.py new file mode 100644 index 0000000000..6aabcf097a --- /dev/null +++ b/challenge-254/steve-g-lynn/python/ch-2.py @@ -0,0 +1,25 @@ +# python 1.4 beta on DOSBOX +# does not run in python 2.7.18 + +import regex,regsub,string +vowels=regex.compile("[aeiouAEIOU]") + +def reverse_vowels(mystr): + vind=[] #store indices of vowel elements of mystr + str2arr=[] #store elements of mystr + for i in range(len(mystr)): + str2arr.append(mystr[i]) + if ( vowels.match( mystr[i] ) > -1 ): + vind.append(i) + vindr=vind[:] + vindr.reverse() + + for i in range(len(vind)): + str2arr[vind[i]]=mystr[vindr[i]] + retval=regsub.gsub(" ","", string.join(str2arr)) + return string.capitalize(string.lower(retval)) + +print reverse_vowels("Raku") #Ruka +print reverse_vowels("Perl") #Perl +print reverse_vowels("Julia") #Jaliu +print reverse_vowels("Uiua") #Auiu -- cgit