{"id":15134,"date":"2022-10-10T13:17:04","date_gmt":"2022-10-10T07:47:04","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/"},"modified":"2022-10-10T13:17:04","modified_gmt":"2022-10-10T07:47:04","slug":"solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/","title":{"rendered":"[Solved] turning a string into a variable (bad operand type for unary +: &#8216;str&#8217;) [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-36524003\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"36524003\" data-parentid=\"36523569\" data-score=\"2\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>You didn&#8217;t provide enough information, but my psychic powers tell me that when you were prompted with &#8220;Enter an animal &#8220;, you typed <code>input<\/code>.<\/p>\n<p>Try to mentally walk through what your code is doing, particularly when you get to:<\/p>\n<pre><code>exec(\"%s = %s\" % (i[3::], raw_input(\"Enter \" + i + \" \")))\n<\/code><\/pre>\n<p>So for the first iteration through the loop, this becomes:<\/p>\n<pre><code>exec(\"%s = %s\" % (\"animal\", \"input\"))\n<\/code><\/pre>\n<p>Then when the substitution happens:<\/p>\n<pre><code>exec(\"animal = input\")\n<\/code><\/pre>\n<p>Which is equivalent to typing:<\/p>\n<pre><code>animal = input\n<\/code><\/pre>\n<p>directly into the Python interpreter.  <code>input<\/code> isn&#8217;t defined, so you get:<\/p>\n<pre><code>NameError: name 'input' is not defined\n<\/code><\/pre>\n<p>You probably meant to surround the right-hand side with quotes to treat it as a string when executed:<\/p>\n<pre><code> exec(\"%s=\"%s\"\" % (\"animal\", \"input\")) # Note that this is unsafe.  See the note below.\n<\/code><\/pre>\n<p>All that being said, I feel obligated to say that this code is incredibly brittle.  When the loop iterates to &#8220;A superhero name&#8221;, it will also break because <code>superhero name<\/code> isn&#8217;t a valid identifier.  You instead probably should split the string on spaces and perhaps take the second word, or just replace all spaces with, say, underscores.  Additionally, you will need to sanitize user input so that a user can&#8217;t escape by supplying quotes in the input. (Or even better would be to avoid using <code>exec<\/code> with user input entirely.  Do you really need variable names?  Why not just use a Python dictionary mapping the prompted strings to the input strings?)<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved turning a string into a variable (bad operand type for unary +: &#8216;str&#8217;) [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] You didn&#8217;t provide enough information, but my psychic powers tell me that when you were prompted with &#8220;Enter an animal &#8220;, you typed input. Try to mentally walk through what your code is doing, particularly when you get to: exec(&#8220;%s = %s&#8221; % (i[3::], raw_input(&#8220;Enter &#8221; + i + &#8221; &#8220;))) So for the &#8230; <a title=\"[Solved] turning a string into a variable (bad operand type for unary +: &#8216;str&#8217;) [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/\" aria-label=\"More on [Solved] turning a string into a variable (bad operand type for unary +: &#8216;str&#8217;) [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[349],"class_list":["post-15134","post","type-post","status-publish","format-standard","hentry","category-solved","tag-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] turning a string into a variable (bad operand type for unary +: &#039;str&#039;) [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] turning a string into a variable (bad operand type for unary +: &#039;str&#039;) [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] You didn&#8217;t provide enough information, but my psychic powers tell me that when you were prompted with &#8220;Enter an animal &#8220;, you typed input. Try to mentally walk through what your code is doing, particularly when you get to: exec(&quot;%s = %s&quot; % (i[3::], raw_input(&quot;Enter &quot; + i + &quot; &quot;))) So for the ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-10T07:47:04+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] turning a string into a variable (bad operand type for unary +: &#8216;str&#8217;) [closed]\",\"datePublished\":\"2022-10-10T07:47:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/\"},\"wordCount\":227,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"python\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/\",\"name\":\"[Solved] turning a string into a variable (bad operand type for unary +: 'str') [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-10-10T07:47:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] turning a string into a variable (bad operand type for unary +: &#8216;str&#8217;) [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] turning a string into a variable (bad operand type for unary +: 'str') [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] turning a string into a variable (bad operand type for unary +: 'str') [closed] - JassWeb","og_description":"[ad_1] You didn&#8217;t provide enough information, but my psychic powers tell me that when you were prompted with &#8220;Enter an animal &#8220;, you typed input. Try to mentally walk through what your code is doing, particularly when you get to: exec(\"%s = %s\" % (i[3::], raw_input(\"Enter \" + i + \" \"))) So for the ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/","og_site_name":"JassWeb","article_published_time":"2022-10-10T07:47:04+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] turning a string into a variable (bad operand type for unary +: &#8216;str&#8217;) [closed]","datePublished":"2022-10-10T07:47:04+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/"},"wordCount":227,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["python"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/","name":"[Solved] turning a string into a variable (bad operand type for unary +: 'str') [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-10-10T07:47:04+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-turning-a-string-into-a-variable-bad-operand-type-for-unary-str-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] turning a string into a variable (bad operand type for unary +: &#8216;str&#8217;) [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/15134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=15134"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/15134\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=15134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=15134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=15134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}