Posts: 31
Threads: 5
Joined: Jan 2021
finds the maximum both in the text and in numbers from two related functions, it is really beautiful.
in1=str(input("1. insert text: "))
in2=str(input("2. insert text: "))
in3=str(input("3. insert text: "))
def max1(a,b):
if a>b:
return a
else:
return b
def max2(a,b,c):
return max1(a,max1(b,c))
c = max1(in1,in2)
d = max2(in1,in2,in3)
print(f"max between 1 and 2= {c}")
print(f"max between 2 and 3= {d}")
Posts: 1,838
Threads: 2
Joined: Apr 2017
A few things:
1. The naming of your functions isn't great - what do "1" and "2" mean?
2. You shouldn't need to write your own max function anyway, since the standard library has one.
3. input already returns a string, so the calls to str on lines 1-3 are redundant.
Posts: 6,811
Threads: 20
Joined: Feb 2020
Why not use "max". This code works for any number of words and ignores case
words = input('Enter words separated by spaces: ').split()
print(max(words, key=str.upper)) Output: Enter words separated by spaces: Who is the max
Who
buran, Kakha, Skaperen like this post
Posts: 31
Threads: 5
Joined: Jan 2021
(Jan-06-2021, 08:01 PM)ndc85430 Wrote: A few things:
1. The naming of your functions isn't great - what do "1" and "2" mean?
2. You shouldn't need to write your own max function anyway, since the standard library has one.
3. input already returns a string, so the calls to str on lines 1-3 are redundant.
Coooool
Posts: 31
Threads: 5
Joined: Jan 2021
Jan-06-2021, 08:35 PM
(This post was last modified: Jan-06-2021, 08:35 PM by Kakha.)
(Jan-06-2021, 08:01 PM)ndc85430 Wrote: A few things:
1. The naming of your functions isn't great - what do "1" and "2" mean?
2. You shouldn't need to write your own max function anyway, since the standard library has one.
3. input already returns a string, so the calls to str on lines 1-3 are redundant.
but can't work with numbers
At line:1 char:3
+ 4 5 6 5 4 3
+ ~
Unexpected token '5' in expression or statement.
At line:1 char:5
+ 4 5 6 5 4 3
+ ~
Unexpected token '6' in expression or statement.
At line:1 char:7
+ 4 5 6 5 4 3
+ ~
Unexpected token '5' in expression or statement.
At line:1 char:9
+ 4 5 6 5 4 3
+ ~
Unexpected token '4' in expression or statement.
At line:1 char:11
+ 4 5 6 5 4 3
+ ~
Unexpected token '3' in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
Posts: 6,811
Threads: 20
Joined: Feb 2020
What do you mean "but it can't work for numbers"? What can't work? I am very confused by your parser error. It doesn't match any code you've provided.
Your code does not work for numbers. If you type numbers when asked to "insert text" it will sort the "numbers" alphabetically instead of numerically because the "numbers" are strings. For example, the numbers 3, 22, 111 would be sorted to be in order 111, 22, 3 because '1' < '2' < '3'.
Posts: 31
Threads: 5
Joined: Jan 2021
(Jan-06-2021, 09:24 PM)deanhystad Wrote: What do you mean "but it can't work for numbers"? What can't work? I am very confused by your parser error. It doesn't match any code you've provided.
Your code does not work for numbers. If you type numbers when asked to "insert text" it will sort the "numbers" alphabetically instead of numerically because the "numbers" are strings. For example, the numbers 3, 22, 111 would be sorted to be in order 111, 22, 3 because '1' < '2' < '3'.
I am learning and at this stage I write code very badly
Posts: 6,811
Threads: 20
Joined: Feb 2020
(Jan-07-2021, 06:42 AM)Kakha Wrote: I am learning and at this stage I write code very badly I've been writing Python code for about a year and I still write code very badly.
I still don't understand your comment about "but can't work with numbers". What does did you mean by that? Is that a problem where you would like to receive some help? If so, please provide additional information.
Posts: 31
Threads: 5
Joined: Jan 2021
(Jan-07-2021, 06:48 AM)deanhystad Wrote: (Jan-07-2021, 06:42 AM)Kakha Wrote: I am learning and at this stage I write code very badly I've been writing Python code for about a year and I still write code very badly.
I still don't understand your comment about "but can't work with numbers". What does did you mean by that? Is that a problem where you would like to receive some help? If so, please provide additional information.
Your code is small and very pretty, but you get an error when adding numbers. My code summarizes numbers and text, it would be better if they made it universal.
my code shows how python uses the function in the function, it understands the parameters regardless of their number
Posts: 6,811
Threads: 20
Joined: Feb 2020
(Jan-07-2021, 07:47 PM)Kakha Wrote: (Jan-07-2021, 06:48 AM)deanhystad Wrote: I've been writing Python code for about a year and I still write code very badly.
I still don't understand your comment about "but can't work with numbers". What does did you mean by that? Is that a problem where you would like to receive some help? If so, please provide additional information.
Your code is small and very pretty, but you get an error when adding numbers. My code summarizes numbers and text, it would be better if they made it universal.
my code shows how python uses the function in the function, it understands the parameters regardless of their number The error is caused by "key=str.upper". If you want to sort something other than strings, or if you didn't want to ignore case you would not specify that key.
|