An international standard book number (ISBN) is used to uniquely identify a book. It is made of 10 digits, as shown in Figure 8-44. Write a function that tests an ISBN to see if it is valid. For an ISBN number to be valid, the weighted sum of the 10 digits must be evenly divisible by 11. The tenth digit may be x, which indicates 10.
To determine the weighted sum, the value of each position is multiplied by its relative position, starting from the right, and the sum of the products is determined. The calculation of the weighted sum for the ISBN shown above is demonstrated in Table 8-5.
Since the weighted sum modulus 11 is 0, the ISBN number is valid. Test your function with the above example, the ISBN number for this text (see the copyright page), and 0-08-781809-5 (an invalid ISBN—the third and fourth digits are reversed).
Want to see the full answer?
Check out a sample textbook solutionChapter 8 Solutions
Computer Science: A Structured Programming Approach Using C, Third Edition
- (Statics) A beam’s second moment of inertia, also known as its area moment of inertia, is used to determine its resistance to bending and deflection. For a rectangular beam (see Figure 6.6), the second moment of inertia is given by this formula: Ibh3/12 I is the second moment of inertia (m4). b is the base (m). h is the height (m). a. Using this formula, write a function called beamMoment() that accepts two double- precision numbers as parameters (one for the base and one for the height), calculates the corresponding second moment of inertia, and displays the result. b. Include the function written in Exercise 4a in a working program. Make sure your function is called from main(). Test the function by passing various data to it.arrow_forwardComplete the function that calculates the sum of the first n+1 terms of the geometric series a, ar, ar² ar³, art Note that the series begins with a and the last term is ar", in total there are n+1 terms. # complete the function given the variables a,r,n and return the value as series_sum. def sum geometric_series (a,r,n): # YOUR CODE HERE return series_sum ... arr print (sum_geometric_series (4.0, 5, 10))arrow_forwardمتبقي ۵۸:۲۶:. . متعد د الخيارات if we have the tuple Students = ('Hasan', 'Noor', 'Rana', 'Reem', , 'Ali') the function that choose randomly one of the :names must be written as get_up = choice(Student) get_up = random(Student) get_up = random[Student] get_up = choice[Student] ۲ من ۱۹arrow_forward
- Create a function which counts how many lone 1's appear in a given number. Lone means the number doesn't appear twice or more in a row. Examples count LoneOnes (101) ➡2 count LoneOnes (1191) → 1 count LoneOnes (1111) count LoneOnes (462) 0arrow_forwardA pandigital number contains all digits (0-9) at least once. Write a function that takes an integer, returning true if the integer is pandigital, and false otherwise. Examples isPandigital (98140723568910) true isPandigital (90864523148909) → false // 7 is missing. isPandigital (112233445566778899) → falsearrow_forwardComplete the function that calculates the sum of the first n+1 terms of the geometric series a, ar, ar² ar³, ar4 . note that the series begins with a and the last term is ar", in total there are n+1 terms. ar" ... [ ]: # complete the function given the variables a,r,n and return the value as series_sum. def sum_geometric_series(a,r,n): # your code here return series_sumarrow_forward
- The formula that converts Celsius temperature to Fahrenheit is given below: F = 9/5*C + 32 Define a function that converts C to F degree. Then compute the Fahrenheit degrees for the following Celsius degree by using mapping. Celsius =[-40, 0, 36, 38, 40, 100]arrow_forwardThe first and second numbers in the Fibonacci sequence are both 1. After that, each subsequent number is the sum of the two preceding numbers. The first several numbers in the sequence are: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, etc. Write a function named fib that takes a positive integer parameter and returns the number at that position of the Fibonacci sequence. For example fib(1) = 1, fib(3) = 2, fib(10) = 55, etc. Your function does not need to print anything out - just return a value. For example, your function could be called like this: term = fib(17) You cannot use recursion, since we haven't covered that technique. That means that for this assignment you cannot have your function call itself. This includes indirect recursion, such as one function calling a second function that calls the first function. You must use a loop to step through the sequence - do not use the golden ratio to directly calculate the value.arrow_forwardconvert_std_units(ser): This function takes one input: ser: a Series. Takes a Series of numeric values and converts to standard units, that is, it computes the mean and standard deviation of ser, and for each s in ser, computes (s - mean)/(standard deviation) and returns the resulting series program returned Tests convert_std_units() on Series from a Gaussian with mu=10 & sigma=5. (0.0/3.0) For column: 0 3.758701 1 12.609100 2 16.768416 3 8.938544 4 4.511551 5 28.243002 6 4.529200 7 9.719007 8 7.083212 9 10.595014 dtype: float64 Your program returned: -0.9374788776407995 Expected return values: 0 -0.937479 1 0.262060 2 0.825794 3 -0.235429 4 -0.835441 5 2.381002 6 -0.833049 7 -0.129648 8 -0.486891 9 -0.010919 dtype: float64 The difference is 9.374788776407996. The Series did not match expected output. Test Failed: False != Truearrow_forward
- The following functions are all supposed to count how many times a certain base (represented as a character variable in Python) appears in a dna sequence (represented as a string variable in Python): def count1(dna, base): i = 0 for c in dna: if c == base: i += 1 return i def count2(dna, base): i = 0 for j in range(len(dna)): if dna[j] == base: i += 1 return i def count3(dna, base): match = [c == base for c in dna] return sum(match) def count4(dna, base): return dna.count(base) def count5(dna, base): return len([i for i in range(len(dna)) if dna[i] == base]) def count6(dna,base): return sum(c == base for c in dna) Which of the correct functions defined in the above exercise is the fastest? Hint. You will need to generate a very large string to test them on, and the function clock() from the time module to time each function. count2 count3 count5 count4arrow_forwardA prime number is an integer value that is only divisible by 1 and itself. 2, 3, 5, 7, and 11 are examples of prime numbers. You have been provided with two function definitions: The is_prime () function takes an integer parameter number, and returns True if number is prime and False otherwise. The get_next_prime () function also takes a single integer parameter number, and returns the first prime number larger than it. You must not change the implementation of these 2 functions. Complete the get_primes_list() function that takes a single list of integers called numbers as parameter. You can assume that the integer items in this list will be non-negative. The function must update this list so that items that are not prime numbers are updated to the first prime number larger than them. To implement this function you must call both the is_prime () and get_next_prime () functions. Some examples of the function being called are shown below. Note: the get_primes_list() function does not…arrow_forwardPython onlyYour program should ask the user to input a number of family members. The program should then repeatedly ask the user to input the age of a family member until the specified number of family members is reached. Finally, the program should output the average age of the family members based on the input values. If the user inputs zero for the number of family members, the program should output a friendly message informing the user that at least 1 family member is required. A function has already been defined for you which asks the user for the age of a family member. You must use this function as part of your solution. Your solution must be implemented using a for loop on a range.add on to this: def ask_for_age(): age = int(input('Enter the age of a family member: ')) return age number = int(input('Number of family members: ')) # Write your solution herearrow_forward
- C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrCOMPREHENSIVE MICROSOFT OFFICE 365 EXCEComputer ScienceISBN:9780357392676Author:FREUND, StevenPublisher:CENGAGE L