Tỷ lệ chữ cái viết hoa


28

Trong thử thách này, bạn và bạn bè của bạn đang tranh luận về trường hợp nào tốt hơn, viết hoa hay viết thường? Để tìm hiểu, bạn viết một chương trình để làm điều này cho bạn.

Bởi vì esolang sợ bạn bè của bạn và mã dài dòng làm bạn sợ, mã của bạn sẽ cần phải càng ngắn càng tốt.


Ví dụ

PrOgRaMiNgPuZzLeS & CoDe GoLf
0.52 uppercase

DowNGoAT RiGHtGoAt LeFTGoat UpGoAT
0.58 uppercase

Foo BaR Baz
0.56 lowercase

Thông số kỹ thuật

Đầu vào sẽ chỉ bao gồm các ký tự ASCII. Tất cả các ký tự không phải là chữ cái nên được bỏ qua. Sẽ có ít nhất 1 ký tự cho mỗi trường hợp

Đầu ra phải là số lượng của trường hợp xuất hiện thường xuyên nhất trên tổng số ký tự chữ cái. Nó phải là một số thập phân chính xác đến ít nhất 2 chữ số thập phân. Nếu chữ hoa xuất hiện thường xuyên hơn, đầu ra sẽ kết thúc bằng uppercase, hoặc lowercase.

Sẽ không bao giờ có cùng số lượng ký tự viết hoa và viết thường.


7
Esolang không sợ bạn bè của tôi. Điều đó có nghĩa là mã của tôi có thể dài dòng?
Alex A.

@AlexA. mã verbose làm bạn sợ, vì vậy mã của bạn cũng sẽ cần phải được đánh gôn.
Hạ cấp

16
Ồ đúng rồi, tôi đã quên mất những cơn ác mộng Java lặp đi lặp lại của mình.
Alex A.

4
Sẽ có đầu vào chỉ với một trường hợp?
manatwork

1
Liệu "chính xác đến ít nhất 2 vị trí thập phân" có yêu cầu ít nhất hai số thập phân được in hay không, có thể bỏ đi phần thập phân thứ hai bằng 0 không?
hvd

Câu trả lời:


2

Pyth - 40 byte

Đây là lần đầu tiên tôi sử dụng định dạng chuỗi vector hóa, nó khá tuyệt.

Kml-zrzd2eS%Vm+cdsK" %sercase"Kc"upp low

Phòng thử nghiệm .


7

JavaScript (ES6) 87 byte

Chỉnh sửa 1 byte đã lưu thx ETHSản phẩm
Chỉnh sửa thêm 1 byte đã lưu thx l4me

Một chức năng ẩn danh. Lâu, nhưng tôi không tìm thấy cách nào để chơi gôn nhiều hơn

s=>(l=t=0,s.replace(/[a-z]/ig,c=>l+=++t&&c>'Z'),l/=t,l<.5?1-l+' upp':l+' low')+'ercase'

Ít chơi gôn

s=>( // arrow function returning the value of an expression
  // here I use comma for clarity, 
  // in the golfed version it's all merged in a single expression
  t = 0, // counter for letters
  l = 0, // counter for lowercase letters 
  s.replace(
    /[a-z]/ig, // find all alphabetic chars, upper or lowercase
    c => // execute for each found char (in c)
        l += ++t && c>'Z', // increment t, increment l if c is lowercase
  ),
  l /= t, // l is the ratio now
  ( l < .5 // if ratio < 1/2
    ? (1-l) +' upp' // uppercase count / total (+" upp")
    : l +' low'     // lowrcase count / total (+" low")
  ) + 'ercase' // common suffix
)

Tôi tin rằng bạn có thể tiết kiệm một byte bằng cách sử dụng &&` ${t-l>l?1-l/t+'upp':l/t+'low'}ercase` .
Sản phẩm ETH

Ngoài ra, tôi c=>l+=++t&&c>'Z'sẽ làm việc ...?
Sản xuất ETH

@ETHproductions gợi ý đầu tiên của bạn có vẻ không hữu ích, thứ hai là thông minh, thx
edc65

1
Chúng ta có thể xem phiên bản không được giải thích với một lời giải thích?
Cyoce

@Cyoce giải thích thêm - thực tế nó đơn giản
edc65

4

CJam, 47 45 byte

q__eu-\_el-]:,_:+df/" low upp"4/.+:e>"ercase"

Hãy thử trực tuyến.

Không chơi golf quá lâu ...

Giải trình

q               e# Read input.
__eu-           e# Get only the lowercase characters.
\_el-           e# Get only the uppercase characters.
]:,             e# Get the lengths of the two strings.
_:+             e# Sum of the lengths.
df/             e# Lengths divided by the sum of the lengths.
" low upp"4/.+  e# Append the first number with " low" and the second " upp"
:e>             e# Find the maximum of the two.
"ercase"        e# Output other things.

4

Japt , 58 byte

A=Uf"[a-z]" l /Uf"[A-Za-z]" l)>½?A+" low":1-A+" upp" +`ÖÐ

(Lưu ý: SE đã loại bỏ một char đặc biệt, trước đó Ö, vì vậy vui lòng nhấp vào liên kết để có được mã phù hợp)


Công việc tốt đẹp! Regex đầu tiên của bạn (bao gồm các ký hiệu đô la) có thể được thay thế bằng "[a-z]", và lần thứ hai bằng "A-Za-z". 0.5bằng ½. Bạn cũng có thể loại bỏ dấu ngoặc kép cuối cùng.
Sản phẩm ETH

Với các thay đổi được đề cập và nén chuỗi, tôi nhận được 58: A=Uf"[a-z]" l /Uf"[A-Za-z]" l)>½?A+" low":1-A+" upp" +`\x80ÖÐBạn có thể có được phiên bản thô của ba byte cuối cùng với Oc"ercase.
Sản phẩm ETH

@Eth \x80đã không xuất hiện để làm bất cứ điều gì, và ÖÐtạo ra "trường hợp" ... Có thể một số ký tự đã bị cắt bớt? Btw, đã cung cấp bản mod của riêng tôi, cảm ơn vì những lời khuyên
nicael

@ETH Ok, quản lý để sử dụng invisi-char đó :)
nicael

Thật không may, dấu gạch chéo ngược phải được nhân đôi bên trong chuỗi để trình phân tích cú pháp regex hoạt động. Trong trường hợp này, "\w"chỉ cần khớp tất cả ws và "\\w"khớp với tất cả A-Za-z0-9_. Vì vậy, tôi nghĩ rằng bạn sẽ cần phải giữ "[a-z]".
Sản phẩm ETH

4

R , 133 123 118 108 106 105 104 byte

Đã giảm 10 byte nhờ @ ovs, 8 nhờ @Giuseppe và 10 lần nữa nhờ @ngm. Tại thời điểm này, đây thực sự là một nỗ lực hợp tác trong đó tôi cung cấp các byte và những người khác loại bỏ chúng;)

function(x)cat(max(U<-mean(utf8ToInt(gsub('[^a-zA-Z]',"",x))<91),1-U),c("lowercase","uppercase")[1+2*U])

Hãy thử trực tuyến!


cạo đi thêm 1 byte.
JayCe

3

TOÁN , 49 50 byte

Công dụng phiên bản hiện tại (4.1.1) của ngôn ngữ, sớm hơn so với thử thách.

jt3Y2m)tk=Ymt.5<?1w-YU' upp'h}YU' low'h]'ercase'h

Ví dụ

>> matl
 > jt3Y2m)tk=Ymt.5<?1w-YU' upp'h}YU' low'h]'ercase'h
 > 
> PrOgRaMiNgPuZzLeS & CoDe GoLf
0.52 uppercase

>> matl
 > jt3Y2m)tk=Ymt.5<?1w-YU' upp'h}YU' low'h]'ercase'h
 > 
> Foo BaR Baz
0.55556 lowercase

Giải trình

j                   % input string
t3Y2m)              % duplicate. Keep only letters
tk=Ym               % duplicate. Proportion of lowercase letters
t.5<?               % if less than .5
    1w-             % compute complement of proportion
    YU' upp'h       % convert to string and append ' upp'
}                   % else
    YU' low'h       % convert to string and append ' low' 
]                   % end
'ercase'            % append 'ercase'

3

Julia, 76 74 byte

s->(x=sum(isupper,s)/sum(isalpha,s);(x>0.5?"$x upp":"$(1-x) low")"ercase")

Đây là hàm lambda chấp nhận một chuỗi và trả về một chuỗi. Để gọi nó, gán nó cho một biến.

Ung dung:

function f(s::AbstractString)
    # Compute the proportion of uppercase letters
    x = sum(isupper, s) / sum(isalpha, s)

    # Return a string construct as x or 1-x and the appropriate case
    (x > 0.5 ? "$x upp" : "$(1-x) low") * "ercase"
end

Đã lưu 2 byte nhờ edc65!


1
Bạn chắc chắn có thể lưu 2 byte bằng cách sử dụng ercasethay vìcase
edc65

@ edc65 Ý tưởng tuyệt vời, cảm ơn!
Alex A.

3

Perl 6 ,  91 70 69 63   61 byte

{($/=($/=@=.comb(/\w/)).grep(*~&' 'ne' ')/$/);"{$/>.5??$/!!1-$/} {<low upp>[$/>.5]}ercase"} # 91
{$/=m:g{<upper>}/m:g{\w};"{$/>.5??$/!!1-$/} {<low upp>[$/>.5]}ercase"} # 70
{"{($/=m:g{<upper>}/m:g{\w})>.5??$/!!1-$/} {<low upp>[$/>.5]}ercase"} # 69
{"{($/=m:g{<upper>}/m:g{\w})>.5??"$/ upp"!!1-$/~' low'}ercase"} # 63

{"{($/=m:g{<:Lu>}/m:g{\w})>.5??"$/ upp"!!1-$/~' low'}ercase"} # 61

Sử dụng:

# give it a lexical name
my &code = {...}

.say for (
  'PrOgRaMiNgPuZzLeS & CoDe GoLf',
  'DowNGoAT RiGHtGoAt LeFTGoat UpGoAT',
  'Foo BaR Baz',
)».&code;
0.52 uppercase
0.580645 uppercase
0.555556 lowercase

2
Khối mã đột kích? Đó là một cái gì đó mới ...
Bojidar Marinov

1
Mất 3 ký tự bằng cách hoán đổi ternary tối đa ("0,55 upp", "0,45 thấp"): Dùng thử
Phil H

3

C #, 135 byte

Đòi hỏi:

using System.Linq;

Chức năng thực tế:

string U(string s){var c=s.Count(char.IsUpper)*1F/s.Count(char.IsLetter);return(c>0.5?c+" upp":1-c+" low")+"ercase";}

Với lời giải thích:

string U(string s)
{
    var c = s.Count(char.IsUpper) // count uppercase letters
               * 1F               // make it a float (less bytes than (float) cast)
               / s.Count(char.IsLetter); // divide it by the total count of letters
    return (c > 0.5 
        ? c + " upp"  // if ratio is greater than 0.5, the result is "<ratio> upp"
        : 1 - c + " low") // otherwise, "<ratio> low"
        + "ercase"; // add "ercase" to the output string
}

3

Python 2, 114 110 byte

i=input()
n=1.*sum('@'<c<'['for c in i)/sum(c.isalpha()for c in i)
print max(n,1-n),'ulpopw'[n<.5::2]+'ercase'

1
Bạn có thể lưu 2 byte bằng cách thay thế ['upp','low'][n<.5]bằng 'ulpopw'[n<.5::2]và 3 byte nữa bằng cách thay thế [n,1-n][n<.5]bằng max(n,1-n).
PurkkaKoodari



2

PHP, 140 129 ký tự

Vòng golf đầu tiên của tôi - không quá tệ đối với ngôn ngữ 'tiêu chuẩn', nhỉ? :-)

Nguyên:

function f($s){$a=count_chars($s);for($i=65;$i<91;$i++){$u+=$a[$i];$l+=$a[$i+32];}return max($u,$l)/($u+$l).($u<$l?' low':' upp').'ercase';}

Rút ngắn xuống 129 ký tự nhờ @manatwork:

function f($s){$a=count_chars($s);for(;$i<26;$u+=$a[$i+++65])$l+=$a[$i+97];return max($u,$l)/($u+$l).' '.($u<$l?low:upp).ercase;}

Với nhận xét:

function uclcratio($s)
{
  // Get info about string, see http://php.net/manual/de/function.count-chars.php
  $array = count_chars($s);

  // Loop through A to Z
  for ($i = 65; $i < 91; $i++) // <91 rather than <=90 to save a byte
  {
    // Add up occurrences of uppercase letters (ASCII 65-90)
    $uppercount += $array[$i];
    // Same with lowercase (ASCII 97-122)
    $lowercount += $array[$i+32];
  }
  // Compose output
  // Ratio is max over sum
  return max($uppercount, $lowercount) / ($uppercount + $lowercount)
  // in favour of which, equality not possible per challenge definition
         . ($uppercount < $lowercount ? ' low' : ' upp') . 'ercase';
}

$u+=…, tôi cho rằng bạn đã có error_reportingmặc định, vì vậy cảnh báo im lặng. Sau đó xóa một số trích dẫn : ' '.($u<$l?low:upp).ercase.
manatwork

Nếu bạn chỉ có một câu lệnh lặp lại bởi for, bạn có thể loại bỏ các dấu ngoặc xung quanh nó. for($i=65;$i<91;$u+=$a[$i++])$l+=$a[$i+32];
manatwork

Với giá của một cảnh báo khác, bạn có thể dự phòng forkhởi tạo biến điều khiển bằng cách lặp 0..26 thay vì 65..91:for(;$i<26;$u+=$a[$i+++65])$l+=$a[$i+97];
manatwork

Ồ, cảm ơn bạn @manatwork, tôi không biết PHP khoan dung đến mức nào! : D Người thứ hai rất thông minh. Tôi đã thực hiện ý tưởng của bạn, đưa số đếm lên 140-4-5-2 = 129 :-)
Christallkeks

2

Hồng ngọc, 81 + 1 = 82

Với lá cờ -p,

$_=["#{r=$_.count(a='a-z').fdiv$_.count(a+'A-Z')} low","#{1-r} upp"].max+'ercase'

Thật may mắn cho các số từ 0 đến 1, sắp xếp từ vựng giống như sắp xếp số.


2

Lisp thông thường, 132 byte

(setq s(read-line)f(/(count-if'upper-case-p s)(count-if'alpha-char-p s)))(format t"~f ~aercase"(max f(- 1 f))(if(> f .5)"upp""low"))

Hãy thử trực tuyến!


Trong bài kiểm tra 0,52 là chữ hoa không phải chữ thường ...
RosLuP

1
@RosLuP, đã sửa, cảm ơn rất nhiều!
Renzo

1

Gema, 125 ký tự

\A=@set{l;0}@set{u;0}
<J1>=@incr{l}
<K1>=@incr{u}
?=
\Z=0.@div{@cmpn{$l;$u;$u;;$l}00;@add{$l;$u}} @cmpn{$l;$u;upp;;low}ercase

Chạy mẫu:

bash-4.3$ for input in 'PrOgRaMiNgPuZzLeS & CoDe GoLf' 'DowNGoAT RiGHtGoAt LeFTGoat UpGoAT' 'Foo BaR Baz'; do
>     gema '\A=@set{l;0}@set{u;0};<J1>=@incr{l};<K1>=@incr{u};?=;\Z=0.@div{@cmpn{$l;$u;$u;;$l}00;@add{$l;$u}} @cmpn{$l;$u;upp;;low}ercase' <<< "$input"
>     echo " <- $input"
> done
0.52 uppercase <- PrOgRaMiNgPuZzLeS & CoDe GoLf
0.58 uppercase <- DowNGoAT RiGHtGoAt LeFTGoat UpGoAT
0.55 lowercase <- Foo BaR Baz

-1 vì esolang sợ bạn bè của bạn. (jk, được nâng cấp)
ev3commander

1

Nghiêm túc, 58 byte

" upp"" low"k"ercase"@+╗,;;ú;û+∩@-@-;l@ú@-l/;1-k;i<@╜@ZEεj

Bãi rác Hex:

22207570702222206c6f77226b2265726361736522402bbb2c3b3ba33b
962bef402d402d3b6c40a3402d6c2f3b312d6b3b693c40bd405a45ee6a

Nó chỉ hoạt động trên trình thông dịch có thể tải xuống ... cái trực tuyến vẫn bị hỏng.

Giải trình:

" upp"" low"k"ercase"@+╗                                    Put [" lowercase"," uppercase"]
                                                            in reg0
                        ,;;ú;û+∩@-@-                        Read input, remove non-alpha
                                    ;l@                     Put its length below it
                                       ú@-                  Delete lowercase
                                          l                 Get its length
                                           /                Get the ratio of upper/total
                                            ;1-k            Make list [upp-ratio,low-ratio]
                                                ;i<         Push 1 if low-ratio is higher
                                                   @        Move list to top
                                                    ╜@Z     Zip it with list from reg0
                                                       E    Pick the one with higher ratio
                                                        εj  Convert list to string.

1

Bình thường, 45 byte

AeSK.e,s/LzbkrBG1s[cGshMKd?H"upp""low""ercase

Hãy thử trực tuyến. Bộ thử nghiệm.

Giải trình

             rBG1               pair of alphabet, uppercase alphabet
    .e                          map k, b over enumerate of that:
      ,                           pair of
           b                          lowercase or uppercase alphabet
        /Lz                           counts of these characters in input
       s                              sum of that
                                    and
            k                         0 for lowercase, 1 for uppercase
   K                            save result in K
 eS                             sort the pairs & take the larger one
A                               save the number of letters in and the 0 or 1 in H

s[                              print the following on one line:
  cG                              larger number of letters divided by
    shMK                            sum of first items of all items of K
                                    (= the total number of letters)
        d                         space
         ?H"upp""low"             "upp" if H is 1 (for uppercase), otherwise "low"
                     "ercase      "ercase"

1

CoffeeScript, 104 ký tự

 (a)->(r=1.0*a.replace(/\W|[A-Z]/g,'').length/a.length)&&"#{(r>.5&&(r+' low')||(1-r+' upp'))+'ercase'}"

coffeescript ban đầu đã cố gắng chuyển giá trị trả về dự định làm đối số cho giá trị "r", không thành công và cực kỳ khó chịu vì r là một số, không phải là hàm. Tôi đã khắc phục nó bằng cách đặt một &&giữa các câu để phân tách chúng.


1

Bình thường, 54 53

Một byte được lưu nhờ @Maltysen

K0VzI}NG=hZ)I}NrG1=hK;ceS,ZK+ZK+?>ZK"low""upp""ercase

Dùng thử trực tuyến

K0                  " Set K to 0
                    " (Implicit: Set Z to 0)

Vz                  " For all characters (V) in input (z):
  I}NG              " If the character (N) is in (}) the lowercase alphabet (G):
    =hZ             " Increment (=h) Z
  )                 " End statement
  I}NrG1            " If the character is in the uppercase alphabet (rG1):
    =hK             " Increment K
;                   " End all unclosed statements/loops

c                   " (Implicit print) The division of
  e                 " the last element of
    S,ZK           " the sorted (S) list of Z and K (this returns the max value)
+ZK                 " by the sum of Z and K

+                   " (Implicit print) The concatenation of
  ?>ZK"low""upp"    " "low" if Z > K, else "upp"
  "ercase"          " and the string "ercase".

,<any><any>là một lệnh hai arity giống như [<any><any>)có thể giúp bạn tiết kiệm một byte
Maltysen

1

Ruby, 97 ký tự

->s{'%f %sercase'%[(l,u=[/[a-z]/,/[A-Z]/].map{|r|s.scan(r).size}).max.fdiv(l+u),l>u ?:low: :upp]}

Chạy mẫu:

2.1.5 :001 > ['PrOgRaMiNgPuZzLeS & CoDe GoLf', 'DowNGoAT RiGHtGoAt LeFTGoat UpGoAT', 'Foo BaR Baz'].map{|s|->s{'%f %sercase'%[(l,u=[/[a-z]/,/[A-Z]/].map{|r|s.scan(r).size}).max.fdiv(l+u),l>u ?:low: :upp]}[s]}
 => ["0.520000 uppercase", "0.580645 uppercase", "0.555556 lowercase"] 

1

05AB1E , 28 byte

ʒ.u}gság/Dò©_αð„Œ„›…#'ƒß«®èJ

Hãy thử trực tuyến!


ʒ.u}g                        # filter all but uppercase letters, get length.
     ság/                    # Differential between uppercase and input length.
         Dò©                 # Round up store result in register w/o pop.
            _α               # Negated, absolute difference.
              ð              # Push space.
               „Œ„›…         # Push "upper lower"
                    #        # Split on space.
                     'ƒß«    # Concat "case" resulting in [uppercase,lowercase]
                         ®èJ # Bring it all together.

1

Java 8, 136 130 byte

s->{float l=s.replaceAll("[^a-z]","").length();l/=l+s.replaceAll("[^A-Z]","").length();return(l<.5?1-l+" upp":l+" low")+"ercase";}

-6 byte tạo một cổng của câu trả lời C # .NET của @ProgramFOX .

Hãy thử trực tuyến.

Giải trình:

s->{                  // Method with String as both parameter and return-type
  float l=s.replaceAll("[^a-z]","").length();
                      //  Amount of lowercase
  l/=l+s.replaceAll("[^A-Z]","").length();
                      //  Lowercase compared to total amount of letters
  return(l<.5?        //  If this is below 0.5:
          1-l+" upp"  //   Return `1-l`, and append " upp"
         :            //  Else:
          l+" low")   //   Return `l`, and append " low"
        +"ercase";}   //  And append "ercase"

1

REXX, 144 byte

a=arg(1)
l=n(upper(a))
u=n(lower(a))
c.0='upp';c.1='low'
d=u<l
say 1/((u+l)/max(u,l)) c.d'ercase'
n:return length(space(translate(a,,arg(1)),0))



1

Kotlin , 138 byte

let{var u=0.0
var l=0.0
forEach{when{it.isUpperCase()->u++
it.isLowerCase()->l++}}
"${maxOf(u,l)/(u+l)} ${if(u>l)"upp" else "low"}ercase"}

Sử dụng

fun String.y():String =let{var u=0.0
var l=0.0
forEach{when{it.isUpperCase()->u++
it.isLowerCase()->l++}}
"${maxOf(u,l)/(u+l)} ${if(u>l)"upp" else "low"}ercase"}

fun main(args: Array<String>) {
    println("PrOgRaMiNgPuZzLeS & CoDe GoLf".y())
    println("DowNGoAT RiGHtGoAt LeFTGoat UpGoAT".y())
    println("Foo BaR Baz".y())
}

1

Bình thường, 40 39 byte

Jml@dQrBG1+jdeS.T,cRsJJc2."kw񽙽""ercase

Hãy thử nó ở đây

Giải trình

Jml@dQrBG1+jdeS.T,cRsJJc2."kw񽙽""ercase
 m    rBG1                                For the lower and uppercase alphabet...
  l@dQ                                    ... count the occurrences in the input.
J                 cRsJJ                   Convert to frequencies.
               .T,     c2."kw񽙽"          Pair each with the appropriate case.
             eS                           Get the more frequent.
          +jd                    "ercase  Stick it all together.

1

Lõi PowerShell , 134 128 byte

Filter F{$p=($_-creplace"[^A-Z]",'').Length/($_-replace"[^a-z]",'').Length;$l=1-$p;(.({"$p upp"},{"$l low"})[$p-lt$l])+"ercase"}

Hãy thử trực tuyến!

Cảm ơn, Veskah , vì đã lưu sáu byte bằng cách chuyển đổi hàm thành bộ lọc!


1
Bạn có thể lưu hai byte miễn phí bằng cách biến nó thành bộ lọc thay vì hàm, tức là bộ lọc F (mã)
Veskah

Tôi không bao giờ biết đây là một điều! Cảm ơn, Veskah!
Jeff Freeman


1

APL (NARS), 58 char, 116 byte

{m←+/⍵∊⎕A⋄n←+/⍵∊⎕a⋄∊((n⌈m)÷m+n),{m>n:'upp'⋄'low'}'ercase'}

kiểm tra:

  h←{m←+/⍵∊⎕A⋄n←+/⍵∊⎕a⋄∊((n⌈m)÷m+n),{m>n:'upp'⋄'low'}'ercase'}
  h "PrOgRaMiNgPuZzLeS & CoDe GoLf"
0.52 uppercase
  h "DowNGoAT RiGHtGoAt LeFTGoat UpGoAT"
0.5806451613 uppercase
  h "Foo BaR Baz"
0.5555555556 lowercase

1

C, 120 byte

f(char*a){int m=0,k=0,c;for(;isalpha(c=*a++)?c&32?++k:++m:c;);printf("%f %sercase",(m>k?m:k)/(m+k+.0),m>k?"upp":"low");}

kiểm tra và kết quả:

main()
{char *p="PrOgRaMiNgPuZzLeS & CoDe GoLf", *q="DowNGoAT RiGHtGoAt LeFTGoat UpGoAT", *m="Foo BaR Baz";
 f(p);printf("\n");f(q);printf("\n");f(m);printf("\n");
}

các kết quả

0.520000 uppercase
0.580645 uppercase
0.555556 lowercase

Nó giả sử bộ nhân vật Ascii.



@ceilingcat bạn có thể cập nhật lên tới 116 byte đó ... 120 byte này cho tôi nếu đủ ...
RosLuP
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.