<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/index.php?action=history&amp;feed=atom&amp;title=I719_Fundamentals_of_Python%2Flecture7</id>
	<title>I719 Fundamentals of Python/lecture7 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/index.php?action=history&amp;feed=atom&amp;title=I719_Fundamentals_of_Python%2Flecture7"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I719_Fundamentals_of_Python/lecture7&amp;action=history"/>
	<updated>2026-06-16T00:46:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I719_Fundamentals_of_Python/lecture7&amp;diff=118706&amp;oldid=prev</id>
		<title>Eroman: Created page with &quot;= Advanced control flow =  == Task 1 ==  Make a function that returns the sum of all elements in an iterable  &lt;source lang=&quot;python&quot;&gt;&gt;&gt;&gt; my_sum_function([2,3,5]) # 2 + 3 + 5 10...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I719_Fundamentals_of_Python/lecture7&amp;diff=118706&amp;oldid=prev"/>
		<updated>2017-03-19T12:24:21Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Advanced control flow =  == Task 1 ==  Make a function that returns the sum of all elements in an iterable  &amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&amp;gt;&amp;gt;&amp;gt; my_sum_function([2,3,5]) # 2 + 3 + 5 10...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Advanced control flow =&lt;br /&gt;
&lt;br /&gt;
== Task 1 ==&lt;br /&gt;
&lt;br /&gt;
Make a function that returns the sum of all elements in an iterable&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&amp;gt;&amp;gt;&amp;gt; my_sum_function([2,3,5])&lt;br /&gt;
# 2 + 3 + 5&lt;br /&gt;
10&amp;lt;/source&amp;gt;&lt;br /&gt;
== all, sum, any ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;, true if all elements are true&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;any&amp;lt;/code&amp;gt;, true if any elements are true&lt;br /&gt;
&lt;br /&gt;
== Task 2 ==&lt;br /&gt;
&lt;br /&gt;
Find if all elements are false&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;opposite_all([False, False])&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; True&amp;lt;/source&amp;gt;&lt;br /&gt;
== Task 3 ==&lt;br /&gt;
&lt;br /&gt;
Implement &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; function with a for loop&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;my_all([True, True])&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; True&amp;lt;/source&amp;gt;&lt;br /&gt;
== Break loops ==&lt;br /&gt;
&lt;br /&gt;
== Task 4 ==&lt;br /&gt;
&lt;br /&gt;
Implement &amp;lt;code&amp;gt;any&amp;lt;/code&amp;gt; with a for loop, use a &amp;lt;code&amp;gt;break&amp;lt;/code&amp;gt; statement&lt;br /&gt;
&lt;br /&gt;
== Error Handling ==&lt;br /&gt;
&lt;br /&gt;
* When to raise an exception&lt;br /&gt;
* handling user input&lt;br /&gt;
&lt;br /&gt;
=== Example: Addition calculator ===&lt;br /&gt;
&lt;br /&gt;
this calculator is error prone. Users can put in a value that cannot be cast to an integer, which will cause this programs to raise an error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;def add_two_numbers(a, b):&lt;br /&gt;
    return int(a) + int(b)&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    a = input(&amp;#039;Write a number: &amp;#039;)&lt;br /&gt;
    b = input(&amp;#039;Write a number: &amp;#039;)&lt;br /&gt;
    result = add_two_numbers(a, b)&lt;br /&gt;
    print(result)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main&amp;lt;/source&amp;gt;&lt;br /&gt;
giving an error like this on bad user input&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Write a number: a&lt;br /&gt;
Write a number: 1&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
  File &amp;amp;quot;calc.py&amp;amp;quot;, line 12, in &amp;amp;lt;module&amp;amp;gt;&lt;br /&gt;
    main()&lt;br /&gt;
  File &amp;amp;quot;calc.py&amp;amp;quot;, line 7, in main&lt;br /&gt;
    result = add_two_numbers(a, b)&lt;br /&gt;
  File &amp;amp;quot;calc.py&amp;amp;quot;, line 2, in add_two_numbers&lt;br /&gt;
    return int(a) + int(b)&lt;br /&gt;
ValueError: invalid literal for int() with base 10: &amp;#039;a&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== With error handled ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;def add_two_numbers(a, b):&lt;br /&gt;
    return int(a) + int(b)&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    a = input(&amp;#039;Write a number: &amp;#039;)&lt;br /&gt;
    b = input(&amp;#039;Write a number: &amp;#039;)&lt;br /&gt;
    try:&lt;br /&gt;
        result = add_two_numbers(a, b)&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        print(&amp;#039;you must type a valid integer!&amp;#039;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(result)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&amp;lt;/source&amp;gt;&lt;br /&gt;
==== With checking before ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;def add_two_numbers(a, b):&lt;br /&gt;
    return int(a) + int(b)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    a = input(&amp;#039;Write a number: &amp;#039;)&lt;br /&gt;
    b = input(&amp;#039;Write a number: &amp;#039;)&lt;br /&gt;
    if a.isdigit() and b.isdigit():&lt;br /&gt;
        result = add_two_numbers(a, b)&lt;br /&gt;
        print(result)&lt;br /&gt;
    else: &lt;br /&gt;
        print(&amp;#039;you must type a valid integer!&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&amp;lt;/source&amp;gt;&lt;br /&gt;
= Splats =&lt;br /&gt;
&lt;br /&gt;
* dict as kwargs&lt;br /&gt;
* list as args&lt;br /&gt;
&lt;br /&gt;
== Task: Sum of all arguments ==&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;def sum_args(*args):&lt;br /&gt;
    return sum(args)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    print(sum_args(1, 3, 5))  # 9&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Pass a list into the function ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;def sum_args(*args):&lt;br /&gt;
    return sum(args)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    print(sum_args(*[1, 3, 5]))  # 9&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Eroman</name></author>
	</entry>
</feed>