PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Friday, May 13, 2022

[FIXED] How to append two dictionaries using user input but the second dictionary should be the value and First dictionary should be key

 May 13, 2022     append, dictionary, for-loop, loops, python     No comments   

Issue

no_sub = int(input("Enter Number Of Subjects : "))`
no_mark = int(input("Enter how many student's marks do you want to add : "))

for i in range (0,no_sub):
    sub_name = input("Enter Subject Names : ")

    for j in range (0,no_mark):
        stud_marks = input("Enter student's Marks : ")
        marks[sub_name] = stud_marks

print(marks)

In this program the expected output is {'Phy':[65,66,70,45],'Eng':[90,96,89,76],'Chem':[67,45,56,70]} but when I try to merge these dictionaries using user input I am getting this output

Enter Number Of Subjects : 3
Enter how many student's marks do you want to add : 4
Enter Subject Names : Phy
Enter student's Marks : 46
Enter student's Marks : 45
Enter student's Marks : 27
Enter student's Marks : 67
Enter Subject Names : Eng
Enter student's Marks : 44
Enter student's Marks : 23
Enter student's Marks : 75
Enter student's Marks : 81
Enter Subject Names : Maths
Enter student's Marks : 68
Enter student's Marks : 35
Enter student's Marks : 36
Enter student's Marks : 86
{'Phy': '67', 'Eng': '81', 'Maths': '86'}

please help , I'm trying to fix this sice hours


Solution

Instead of marks[sub_name] = stud_marks use list and append input there:

no_sub = int(input("Enter Number Of Subjects : "))
no_mark = int(input("Enter how many student's marks do you want to add : "))

marks = {}
for i in range(no_sub):
    sub_name = input("Enter Subject Names : ")

    for j in range(no_mark):
        stud_marks = input("Enter student's Marks : ")
        marks.setdefault(sub_name, []).append(int(stud_marks))

print(marks)

Prints:

Enter Number Of Subjects : 2
Enter how many student's marks do you want to add : 2
Enter Subject Names : A
Enter student's Marks : 1
Enter student's Marks : 2
Enter Subject Names : B
Enter student's Marks : 3
Enter student's Marks : 4
{'A': [1, 2], 'B': [3, 4]}


Answered By - Andrej Kesely
Answer Checked By - Cary Denson (PHPFixing Admin)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing